Maison >Java >javaDidacticiel >Comment conserver l'ordre d'insertion dans Java HashMaps ?

Comment conserver l'ordre d'insertion dans Java HashMaps ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-03 04:33:03274parcourir

How Do I Preserve Insertion Order in Java HashMaps?

Préserver l'ordre d'insertion dans les HashMaps

Lorsque vous travaillez avec des HashMaps, il est courant de rencontrer des situations où l'ordre des éléments lors de l'itération est incompatible avec leur ordre d'insertion. Cependant, dans certains cas d’utilisation, le maintien de l’ordre d’insertion est crucial. Pour répondre à ce besoin, Java Collections Framework fournit le LinkedHashMap.

Solution : LinkedHashMap

La classe LinkedHashMap étend la classe HashMap. Il conserve l'ordre d'insertion en conservant une liste interne à double lien qui relie les éléments dans l'ordre dans lequel ils sont insérés. Lors d'une itération sur un LinkedHashMap, les éléments sont renvoyés dans le même ordre dans lequel ils ont été ajoutés.

Exemple :

<code class="java">Map<Integer, String> map = new LinkedHashMap<>();
map.put(1, "One");
map.put(3, "Three");
map.put(2, "Two");

for (Map.Entry<Integer, String> entry : map.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}</code>

Sortie :

1: One
3: Three
2: Two

Comme vous pouvez le constater, les éléments sont imprimés dans l'ordre dans lequel ils ont été insérés (1, 3, 2).

Conclusion :

En utilisant LinkedHashMap, vous pouvez conserver l'ordre d'insertion des éléments dans un HashMap. Cette fonctionnalité est particulièrement utile pour les scénarios où l'ordre des éléments est critique pour le bon fonctionnement de votre application.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn