У меня есть класс под названием Doctor со следующими переменными класса: 1. Специальность (Создано перечисление) 2. Area (Создано перечисление) 3. ReviewScore (int)Java - Сортировка HashMap по значению и еще один атрибут
У меня есть отдельный класс, называемый getDoctors, в котором хранится объект ArrayList < Doctor>. В этом классе я определил метод getDistance, который возвращает расстояние (a Double) между данным объектом Doctor и всеми другими объектами Doctor. Затем я создал HashMap, у которого каждый Доктор есть ключ и расстояние от текущего врача в качестве значения. Я пошел вперед и отсортировал этот HashMap по значению.
До этого момента все работает нормально. Теперь, когда значения расстояния одинаковы, я хочу отсортировать этот HashMap на основе переменной класса ReviewScore объектов Doctor.
Любые подсказки о том, как я могу это сделать? Ниже приведен код, который берет в HashMap < Доктор, Double> и сортирует его по значению:
public static <Doctor, Double extends Comparable<? super Double>> HashMap<Doctor, Double> sortByValue(HashMap<Doctor, Double> map){
HashMap<Doctor, Double> result = new LinkedHashMap<>();
Stream<Map.Entry<Doctor, Double>> st = map.entrySet().stream();
st.sorted(Map.Entry.comparingByValue())
.forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
return result;
}
Вы хотите отсортировать '' 'HashMap'''? Вы не можете, '' 'HashMap''' неупорядочен. –
Почему универсальная декларация каким-либо образом? ('' '>' '') –
@JornVernee Это способ создания кода с удвоением в памяти, а затем изменить его на общий, без модификации тела. –