Можно создать дубликат:
How to sort a Map<Key, Value> on the values in Java?Сортировка HashMap на основе Value, затем Key?
У меня есть HashMap типа:
HashMap<String, Integer> h = new HashMap<String, Integer>();
Метод HashMap содержит список строк и Integer счетчик для количество раз, которое String было найдено. То, что я хотел бы сделать, это сортировать HashMap на основе целых чисел, а затем в алфавитном порядке строк.
На данный момент я храню запись наибольшего вхождения слова (переменная с именем макс) и отображение значения следующим образом:
public void print(){
while(max > 0){
for (String key : h.keySet()){
if(h.get(key) == max){
System.out.println(key + " " + h.get(key));
}
}
max--;
}
}
Который не сортирует значения в алфавитном порядке, а также он обращается HashMap max * h (размер) раз.
Какое лучшее решение?
@krock хорошая находка. Да, точно такой же вопрос. – cletus