Maison  >  Article  >  Java  >  HashMap en Java

HashMap en Java

王林
王林original
2024-08-30 15:34:13314parcourir

En Java, vous pouvez utiliser le tableau pour stocker des données, mais chaque fois qu'il est nécessaire de stocker ou de récupérer des données sous forme de clé et de valeur, vous devez utiliser HashMap pour cela. Hashmap est une collection en Java qui appartient à la hiérarchie de l'interface appelée Map. Dans cet article, nous discuterons du Hashmap du point de vue de la programmation Java.

Syntaxe :

PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulés

Pour utiliser HashMap dans votre code, vous devez importer (importer le package java.util.HashMap) ou sa classe parent.

import java.util.HashMap;
import java.util.Map;
HashMap<datatypeOfkey, dataytpeOfValue> <name_of_hashMap> =new HashMap<datatypeOfkey, dataytpeOfValue> ();

Où datatypeOfkey et dataytpeOfValue peuvent être Integer ou String.

Exemple :

Map<String, String> newHashMap = new HashMap<>();

Comment fonctionne HashMap en Java ?

Hashmap utilise des techniques de hachage pour stocker et récupérer des éléments. Pour le stockage, il utilise une liste chaînée appelée buckets. Il utilise deux méthodes sur la clé : equals() et hashCode() pour les opérations d'insertion et de récupération. Lors de l'insertion, hashCode détermine le compartiment à stocker. Après cela, hashCode vérifie à nouveau s'il existe déjà une clé avec un hashCode égal ; si oui, la valeur est remplacée par la nouvelle. Sinon, la nouvelle carte est créée dans laquelle la valeur sera stockée. Lors de la récupération des données, hashCode détermine le compartiment à rechercher. Après cela, hashCode() et equals() obtiennent la valeur et la renvoient. Il renvoie null si aucune valeur n'est présente.

Constructeur HashMap en Java

Il a quatre constructeurs, comme mentionné ci-dessous.

  1. HashMap() : C'est celui par défaut avec un facteur de charge de 0,75 et une capacité de 16.
  2. HashMap(int ) : Crée HashMap avec la capacité définie dans ses arguments. Le facteur de charge est la valeur par défaut ici.
  3. HashMap(int , float ): Crée HashMap avec la capacité et le facteur de charge définis dans ses arguments.
  4. HashMap(Map m) : Crée HashMap tel que défini dans la carte d'arguments.

Top 13 des méthodes de HashMap en Java

Toutes les méthodes ci-dessous décrites ici peuvent être utilisées quelle que soit la version de Java.

  1. public value get(Object key) : Utilisé pour obtenir la valeur de la clé correspondante.
  2. valeur publique put(clé K, valeur V) : Insère la valeur qui est mentionnée dans l'argument pour la clé correspondante.
  3. public boolean containKey(Object key): Décision de savoir si la clé est présente ou non, notez que le type de retour est booléen.
  4. public boolean containValue(Object value): Décision de savoir si la valeur est présente ou non, notez que le type de retour est Boolean.
  5. public V Remove (Object Key) : Efface une clé particulière et sa forme de valeur HashMap comme spécifié dans le code.
  6. public void clear() : Efface toutes les clés et valeurs du HashMap comme mentionné.
  7. public boolean isEmpty() : Vérifie si HashMap est vide ou non.
  8. Object clone() : Les mappages d'un HashMap sont renvoyés par cette méthode pour être utilisés à des fins de clonage vers un autre HashMap.
  9. public int size() : Renvoie la taille, c'est-à-dire le nombre de paires clé-valeur présentes dans un HashMap.
  10. Ensemble public> EntrySet() : L'ensemble de mappages dans HashMap est renvoyé par cette méthode.
  11. Ensemble public keySet() : La clé définie dans HashMap est renvoyée par cette méthode.
  12. public void putAll(Map ): Copie tout le contenu de la carte vers l'autre.
  13. Valeurs de collection() : Vous pouvez obtenir une collection de toutes les valeurs d'un HashMap.

Exemples de HashMap en Java

HashMap est une classe de collection basée sur une carte utilisée pour stocker les paires clé et valeur. Regardons quelques exemples.

Exemple n°1

Nous discuterons ici de quelques exemples de code de HashMap. Vous devez pratiquer les codes en écrivant vous-même et en les exécutant sur le compilateur Java pour vérifier la sortie. Vous pouvez faire correspondre la sortie avec celle donnée pour vérification. Création de HashMap et insertion de données dans celui-ci.

Code :

import java.util.HashMap;
import java.util.Map;
public class CreateHashMapExample {
public static void main(String[] args) {
// Creating a HashMap
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Java");
newHashMap.put("Key2", "C++");
newHashMap.put("Key3", "Python");
// Addition of new key and value
newHashMap.putIfAbsent("Key4", "Ruby");
System.out.println(newHashMap);
}
}

Sortie :

HashMap en Java

Exemple n°2

Prenons un autre exemple où nous prenons une chaîne comme clé et un entier comme valeur. Ici, nous mesurerons la clé et ses valeurs correspondantes en pouces comme valeur.

Code :

import java.util.HashMap;
public class CreateHashMapExample2 {
public static void main(String[] args) {
// Create a HashMap object called measurement
HashMap<String, Integer> ms = new HashMap<String, Integer>();
// Add keys and values (Name and phone number of the person)
ms.put("S", 35);
ms.put("M", 38);
ms.put("L", 40);
ms.put("XL", 42);
for (String key : ms.keySet()) {
System.out.println("measurement of " + key + " in inch is: " + ms.get(key));
}
}
}

Sortie :

HashMap en Java

Example #3

Here we will do multiple things. We will first create a Hashmap; we will then get its values one by one. After that, we will copy all data of the HashMap to a brand new HashMap. After that, we will remove one item and gets their sizes. If the size is lower by one, the decrease of size by removal is confirmed.

Code:

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapInJava {
public static void main(String[] args) {
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Lenovo");
newHashMap.put("Key2", "Motorola");
newHashMap.put("Key3", "Nokia");
newHashMap.put("Key4", null);
newHashMap.put(null, "Sony");
System.out.println("Original map contains:" + newHashMap);
//getting size of Hashmap
System.out.println("Size of original Map is:" + newHashMap.size());
//copy contains of one Hashmap to another
Map copyHashMap = new HashMap<>();
copyHashMap.putAll(newHashMap);
System.out.println("copyHashMap mappings= " + copyHashMap);
//Removal of null key
String nullKeyValue = copyHashMap.remove(null);
System.out.println("copyHashMap null key value = " + nullKeyValue);
System.out.println("copyHashMap after removing null key = " + copyHashMap);
System.out.println("Size of copyHashMap is:" + copyHashMap.size());
}
}

Output:

HashMap en Java

Did you notice one thing in the output of HashMap in all of our examples while we print the key and values? The print is not in sorted order. Hashmap is not like an array, so scan and print need to be sorted; it can pick random based on its hash value.

Conclusion

You should use HashMap when your code or use case requires the handling of data in key-value pairs. In this article, we have learned about hashmaps in Java with code examples. First, however, you should practice writing codes on your own to master this topic.

Recommended Article

This is a guide to the HashMap in Java. Here we discuss Introduction to HashMap in Java and its Methods along with Code implementation and Output. You can also go through our suggested articles to learn more –

  1. HTML Frames
  2. HTML Attributes
  3. What is JVM?
  4. Java ClassNotFoundException

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
Article précédent:Appel Java par référenceArticle suivant:Appel Java par référence