Tri d'une HashMap en Java : techniques basées sur la valeur
En Java, les HashMaps sont des collections précieuses pour stocker des paires clé-valeur, mais elles ne maintiennent pas d’ordre de tri spécifique. Pour trier une HashMap en fonction de valeurs, nous devons utiliser des techniques supplémentaires.
Approches pour le tri basé sur les valeurs
Une approche consiste à convertir la HashMap en une liste de valeurs à l’aide de la méthode values(). On peut ensuite trier la liste à l'aide d'un comparateur qui définit la logique de tri souhaitée.
Map<String, Person> people = new HashMap<>(); Person jim = new Person("Jim", 25); Person scott = new Person("Scott", 28); Person anna = new Person("Anna", 23); people.put(jim.getName(), jim); people.put(scott.getName(), scott); people.put(anna.getName(), anna); List<Person> peopleByAge = new ArrayList<>(people.values()); Collections.sort(peopleByAge, Comparator.comparing(Person::getAge));
Après avoir trié la liste, on peut accéder aux éléments triés.
Autre approche, adaptée aux accès fréquents , consiste à créer un mappage HashMap vers un ensemble trié. Par exemple, nous pourrions utiliser un HashMap
Considération pour TreeMap
Si le tri par clé est préféré, il vaut la peine d'envisager d'utiliser un TreeMap à la place. TreeMaps maintient automatiquement un ordre de tri naturel basé sur les clés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!