Maison  >  Article  >  Java  >  La différence entre HashMap et LinkedHashMap en Java

La différence entre HashMap et LinkedHashMap en Java

王林
王林original
2019-11-18 14:19:345234parcourir

La différence entre HashMap et LinkedHashMap en Java

HashMap

hashMap est la carte la plus couramment utilisée. Elle stocke les données en fonction de la valeur HashCode de la clé. Sa valeur peut être obtenue. directement selon la clé. La vitesse d'accès est très rapide et l'ordre lors du parcours est complètement aléatoire. HashMap n'autorise qu'une seule clé à être nulle et permet à plusieurs valeurs d'être nulles.

Caractéristiques : Complètement aléatoire

Avantages : Accès aléatoire, acquisition rapide de la valeur

Inconvénients : Plusieurs threads écrivant HashMap en même temps peuvent provoquer une incohérence des données Si une synchronisation est requise, utilisez la méthode Collection的synchronizedMap ou utilisez le ConcurrentHashMap

LinkedHashMap

LinkedHashMap est une sous-classe de HashMap, qui enregistre l'ordre d'insertion des enregistrements. Il est différent du. parcours aléatoire de HashMap Lors du parcours avec un itérateur, l'enregistrement obtenu en premier doit être inséré en premier, similaire à OrderedDict en python.

La vitesse de parcours sera plus lente que celle de HashMap, mais il y a une exception : lorsque la capacité de HashMap est grande et que les données réelles sont très petites, car la vitesse de parcours de HashMap est liée à sa capacité, tandis que la la vitesse de parcours de LinkedHashMap est uniquement liée à la quantité réelle de données associées.

TreeMap

TreeMap implémente l'interface SortMap et peut trier les enregistrements qu'il enregistre par clé. La valeur par défaut est l'ordre croissant par clé. Vous pouvez également spécifier un comparateur de tri. parcourir le TreeMap Quand , les enregistrements obtenus sont triés par clé.

Sélectionner une carte en fonction des données

Généralement, ce que nous utilisons le plus est HashMap Pour insérer, supprimer et localiser des éléments dans Map, HashMap est le meilleur choix. Mais si vous souhaitez parcourir les clés dans un ordre naturel ou personnalisé, TreeMap sera meilleur. Si vous avez besoin que l'ordre de sortie soit le même que celui de l'entrée, vous pouvez utiliser LinkedHashMap, qui peut également être organisé par ordre de lecture.

Tutoriel recommandé : Tutoriel Java

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