Maison  >  Article  >  Java  >  Comment effectuer un mappage ordonné à l'aide de la fonction LinkedHashMap en Java

Comment effectuer un mappage ordonné à l'aide de la fonction LinkedHashMap en Java

PHPz
PHPzoriginal
2023-06-26 13:56:39960parcourir

En programmation Java, il est parfois nécessaire d'utiliser une structure de données cartographiques triables pour répondre au besoin d'organiser les données dans un certain ordre. LinkedHashMap en Java est une structure de mappage ordonnée, qui hérite de toutes les caractéristiques de HashMap et fournit la fonction supplémentaire de mémorisation de l'ordre d'insertion. Dans cet article, nous expliquerons comment effectuer un mappage ordonné à l'aide de la fonction LinkedHashMap en Java.

Comment fonctionne LinkedHashMap ?

LinkedHashMap est une implémentation de Map dans le framework de collection Java, qui fournit une structure de mappage de paires clé-valeur ordonnée. Comme HashMap, LinkedHashMap hérite également de l'interface Map et fournit une table de hachage pour récupérer et rechercher rapidement des valeurs dans la table de mappage. Contrairement à HashMap, LinkedHashMap utilise non seulement une table de hachage pour stocker les paires clé-valeur, mais utilise également une liste chaînée pour conserver l'ordre d'insertion. Cela permet de parcourir les paires clé-valeur de la table de mappage dans l’ordre d’insertion.

Détails d'implémentation de LinkedHashMap

LinkedHashMap maintient deux pointeurs, l'un pointant vers la tête de la table et l'autre vers la queue de la table. Lorsqu'un élément est inséré dans un LinkedHashMap, il est ajouté à la fin de la liste chaînée. Lorsque tous les éléments de la table de mappage doivent être parcourus, LinkedHashMap peut parcourir la liste chaînée pour garantir l'ordre des éléments.

Utilisation de LinkedHashMap

LinkedHashMap est similaire à HashMap. Il a également des méthodes courantes telles que put, get, delete, clear, size, etc., mais il est légèrement différent de HashMap lors de la traversée. Les éléments renvoyés par la méthode itérateur de LinkedHashMap sont ordonnés, on peut donc garantir que lors du parcours d'un LinkedHashMap, l'itération est toujours effectuée dans un ordre fixe.

Tout d'abord, nous devons importer la classe LinkedHashMap :

import java.util.LinkedHashMap;

Ensuite, nous pouvons créer une instance LinkedHashMap vide pour stocker les paires clé-valeur :

LinkedHashMap<String, Integer> map = new LinkedHashMap<String, Integer>();

Ensuite, nous pouvons utiliser la méthode put pour ajouter des paires clé-valeur au map :

map.put("apple", 10); // 插入键 "apple",值为 10
map.put("banana", 20); // 插入键 "banana",值为 20
map.put("orange", 30); // 插入键 "orange",值为 30

Nous pouvons utiliser la méthode get pour interroger par clé :

Integer value = map.get("apple"); // 查询键 "apple" 的值,返回10

En utilisant les méthodes key() et values(), nous pouvons obtenir l'ensemble de toutes les clés et toutes les valeurs de la carte respectivement.

Set<String> keys = map.keySet(); // 获取所有键的集合
Collection<Integer> values = map.values(); // 获取所有值的集合

Lors de la traversée de LinkedHashMap, nous pouvons utiliser la méthode EntrySet(). Cette méthode renvoie un Set contenant toutes les paires clé-valeur de la carte, où l'ordre des paires clé-valeur est dans l'ordre d'insertion.

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

Résumé :

En programmation Java, LinkedHashMap est une structure de mappage de paires clé-valeur triable, qui peut facilement répondre aux besoins de parcours dans l'ordre d'insertion. Lors de l'utilisation de LinkedHashMap, nous pouvons utiliser les méthodes put, get, delete et clear pour gérer les paires clé-valeur, et en même temps parcourir toutes les paires clé-valeur via la méthode EntrySet(). En maîtrisant l'utilisation de base de LinkedHashMap, nous pouvons effectuer une programmation plus flexible.

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