Un ensemble est une collection qui permet de retrouver rapidement des éléments existants. Cependant, pour visualiser un élément, vous devez disposer d’une copie exacte de l’élément que vous recherchez. Ce n'est pas une manière très générale de trouver, puisque trouver un élément dans une collection implique toujours de parcourir la collection. Souvent, nous connaissons des informations sur une clé et souhaitons trouver l'élément qui lui correspond. La structure des données cartographiques est conçue à cet effet. Les cartes sont utilisées pour stocker des paires clé/valeur. Si la clé est fournie, la valeur peut être recherchée. Il existe une correspondance individuelle entre eux.
Opérations de mappage de base :
La bibliothèque de classes Java fournit deux implémentations générales pour le mappage : HashMap et TreeMap, qui implémentent toutes deux l'interface Map
HashMap hache les clés et TreeMap trie les éléments dans l'ordre général des clés et les organise dans un arbre de recherche.
Les fonctions de hachage ou de comparaison ne peuvent fonctionner que sur les clés. Les valeurs associées aux clés ne peuvent pas être hachées ou comparées
Comme les ensembles, les cartes de hachage sont légèrement plus rapides que les cartes arborescentes, il est donc préférable d'utiliser des cartes de hachage lorsque l'accès aux clés n'a pas besoin d'être trié <.>
OP->> Pour effectuer le stockage clé-valeur, la méthode put doit être utilisée OP->> et uniquement via les clés Pour accéder à la valeur OP->> Si la valeur est introuvable mais que vous ne souhaitez pas renvoyer un objet vide, utilisez getOrDefault(var1,var2). trouvé, renvoie var2. Les clés doivent être uniques, si la méthode put est appelée deux fois sur une paire de mappages, l'appel ultérieur écrasera l'appel précédent. Et renvoie le résultat du premier appel OP->> Pour supprimer les paires clé-valeur, utilisez la méthode Remove (key) OP->> de paires clé-valeur, utilisez la méthode size() OP->> Pour parcourir chaque clé et valeur, il est préférable d'utiliser la méthode forEach, qui peut être fournie avec une expression Lambda, utilisé pour traiter chaque élément de la carte dans l'ordre est similaire à scores.forEach((k,v)->System.out.println("key="+k+",value= "+v ));L'exemple de programme suivant illustre le processus opérationnel de mappage. Tout d'abord, des paires clé/valeur sont ajoutées au mappage. Ensuite, une clé est supprimée de la carte et sa valeur correspondante est également supprimée. Ensuite, modifiez la valeur correspondant à une certaine clé et appelez la méthode get pour afficher cette valeur. Enfin, l'ensemble des entrées est traité de manière itérative. Code :package Collection.Map; import java.util.*; public class MapTest { public static void main(String[] args) { Map<String,Employee> staff=new HashMap<>(); staff.put("144-25-5464", new Employee("Amy Lee")); staff.put("567-24-2546", new Employee("Harry Hacker")); staff.put("157-62-7935", new Employee("Gary Cooper")); staff.put("456-62-5527", new Employee("Francesca Cruz")); //打印所有成员 System.out.println(staff); //删除某一成员 staff.remove("567-24-2546"); //替代一个成员 staff.put("456-62-5527", new Employee("Francesca Miller")); //查看一个成员 System.out.println(staff.get("157-62-7935")); //遍历映射 staff.forEach((k,v)->System.out.println("key="+k+",value="+v)); } } class Employee{ String name; public Employee(String name) { this.name = name; } public String toString() { return "[name="+name+"]"; } }Résultat de l'exécution :
Voici plusieurs méthodes couramment utilisées dans l'interface Map et leurs explications :
V get(Object key)
Récupère la valeur correspondant à la clé ; renvoie l'objet correspondant à la clé, ou renvoie s'il n'y en a pas. objet dans la carte null. La clé peut être nulle.default V getOrDefault(Object key,V defaultValue)
Obtenir la valeur associée à la clé ; renvoie l'objet associé à la clé, ou si celui-ci n'est pas trouvé dans la clé de mappage, renvoie defaultValue.V put(K key,V value)
Insérez la relation entre la clé et la valeur correspondante dans la carte. Si la clé existe déjà, le nouvel objet remplacera l'ancien objet correspondant à la clé. Cette méthode renverra l'ancienne valeur correspondant à la clé. Renvoie null si cette clé n'est pas apparue auparavant. Les clés peuvent être nulles, mais pas les valeurs.void putAll(Map extends K,? extends V> entrées)
Ajoute toutes les entrées de la carte donnée à cette carte.boolean containKey(Object key)
Renvoie vrai si cette clé existe déjà dans la carte.boolean containValue(Object value)
Si cette valeur existe déjà dans la carte, renvoie true.vide par défaut pourEach(BiConsumer super K,? super V> action)
Appliquez cette action à toutes les clés/valeurs de cette carte.Les méthodes suivantes sont couramment utilisées dans la classe HashMap :
HashMap()HashMap(int initialCapacity)HashMap (int initialCapacity, float loadFactor)Construisez une carte de hachage vide avec la capacité et le facteur de remplissage donnés (le facteur de remplissage est une valeur comprise entre 0,0 et 1,0. Cette valeur détermine le pourcentage de remplissage de la table de hachage. Une fois celui-ci atteint ratio, il doit être haché dans une table plus grande). Le facteur de rechargement par défaut est de 0,75.Les méthodes suivantes sont couramment utilisées dans la classe TreeMap :
TreeMap()
Construire une clé qui implémente le Interface comparable Carte arborescente vide.TreeMap(Comparator super K> c)
Construit une arborescence et trie les clés à l'aide d'un comparateur spécifié.TreeMap(Map extends K,? extends V> entrées)
Construit une arborescence et ajoute toutes les entrées d'une carte au milieu de l'arborescence.TreeMap (SortedMap étend K,? étend V> entrées)
Construit une carte arborescente qui ajoute toutes les entrées d'une certaine carte ordonnée à la carte arborescente, en utilisant le même comparateur que la carte ordonnée donnée.
Voici quelques méthodes importantes de l'interface SortedMap :
Comparator super K> Return Un comparateur qui trie les clés. Si les clés sont comparées à l’aide de la méthode comparaTo de l’interface Comparable, null est renvoyé.
K firstKey()
K lastKey()
Renvoie les éléments minimum et maximum dans la carte.
Site Web php chinois, un grand nombre deTutoriels d'introduction à Java
gratuits, bienvenue pour apprendre en ligne !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!