Duplicar posible:
How to sort a Map<Key, Value> on the values in Java?Ordenando un HashMap basado en el valor y luego la clave?
que tiene un HashMap del tipo:
HashMap<String, Integer> h = new HashMap<String, Integer>();
El HashMap contiene una lista de cadenas y el entero es un contador para el número de veces que se ha encontrado la Cadena Lo que me gustaría hacer es ordenar el HashMap basado en los Enteros, luego en el orden alfabético de las Cadenas.
Por el momento estoy manteniendo un registro de la mayor aparición de una palabra (variable llamada max) y la visualización de los valores de la siguiente manera:
public void print(){
while(max > 0){
for (String key : h.keySet()){
if(h.get(key) == max){
System.out.println(key + " " + h.get(key));
}
}
max--;
}
}
Lo cual no ordenar los valores en orden alfabético, también se accede el HashMap max * h (tamaño) veces.
¿Cuál es la mejor solución?
@krock buen encontrar. Sí, exactamente la misma pregunta. – cletus