Comment conserver l'ordre d'insertion dans HashMap? [dupliquer]
cette question a déjà une réponse ici:
- classe Java qui implémente Map et maintient l'ordre d'insertion? 8 réponses
j'utilise un HashMap
. Quand j'itère sur la carte, les données sont retournées dans (souvent le même) ordre aléatoire. Mais les données ont été insérées dans un l'ordre, et j'ai besoin de préserver l'ordre d'insertion. Comment puis-je faire cela?
2 réponses
LinkedHashMap
c'est exactement ce que vous cherchez.
C'est exactement comme HashMap
, sauf que lorsque vous parcourez, il présente les éléments dans l'ordre d'insertion.
HashMap
n'est pas classé selon la deuxième ligne de la documentation:
cette classe ne donne aucune garantie quant à l'ordre de la carte; en particulier, elle ne garantit pas que l'ordre restera constant dans le temps.
peut-être que vous pouvez faire comme aix suggère et utiliser un LinkedHashMap
, ou une autre collection commandée. Ce lien peut vous aider à trouver le plus approprié collection à utiliser.