possible en double:
How to sort a Map<Key, Value> on the values in Java?Tri d'un HashMap basé sur la valeur puis la clé?
J'ai un HashMap du type:
HashMap<String, Integer> h = new HashMap<String, Integer>();
Le HashMap contient une liste de chaînes et l'entier est un compteur pour la nombre de fois que String a été trouvé. Ce que je voudrais être capable de faire est de trier la HashMap basée sur les entiers, puis sur l'ordre alphabétique des chaînes.
En ce moment je suis tenue d'un registre de la plus grande occurrence d'un mot (variable max nom) et l'affichage des valeurs comme suit:
public void print(){
while(max > 0){
for (String key : h.keySet()){
if(h.get(key) == max){
System.out.println(key + " " + h.get(key));
}
}
max--;
}
}
Ce qui ne trie pas les valeurs par ordre alphabétique, aussi les accès le HashMap max * h (taille) fois.
Quelle est la meilleure solution?
@krock bonne trouvaille. Oui, exactement la même question. – cletus