2010-08-11 2 views
7

La documentation sur les états java.util.Map JDKmise en œuvre de java.util.Map utilisant l'ordre d'insertion que l'ordre

L'ordre d'une carte est définie comme l'ordre dans lequel les itérateurs sur la carte de Les vues de collection renvoient leurs éléments . Certaines implémentations de cartes, comme la classe TreeMap, rendent des garanties spécifiques quant à leur commande; d'autres, comme la classe HashMap, ne le font pas.

Et la documentation sur TreeMap déclare:

La carte est triée selon le ordre naturel de ses clés, ou par un Comparator fourni à la carte, la création temps, selon le constructeur est utilisé.

Existe-t-il une implémentation JDK de Map qui utilise l'ordre dans lequel les éléments ont été insérés dans la carte en tant que commande?

Répondre

13

java.util.LinkedHashMap:

Cette mise en œuvre diffère de HashMap en ce sens qu'elle maintient une liste doublement chaînée qui traverse toutes ses entrées. Cette liste liée définit l'ordre d'itération, qui est normalement l'ordre dans lequel les clés ont été insérées dans la carte (insertion-order). Notez que l'ordre d'insertion n'est pas affecté si une clé est réinsérée dans la carte.