Maison > Java > javaDidacticiel > Comment travailler avec Hashmap à Java

Comment travailler avec Hashmap à Java

Mary-Kate Olsen
Libérer: 2025-01-25 04:15:09
original
624 Les gens l'ont consulté

How to Work with HashMap in Java

Ce guide complet explore HashMap de Java, une structure de données robuste pour un stockage et une gestion efficaces des paires clé-valeur. Nous aborderons les méthodes fondamentales et fournirons des exemples pratiques pour consolider votre compréhension.


Comprendre HashMap

HashMap stocke les données sous forme de paires clé-valeur, offrant (en moyenne) une complexité en temps constant pour les opérations principales telles que put, get et remove. Les principaux avantages incluent :

  • Clés uniques : Chaque clé doit être unique ; les valeurs peuvent être dupliquées.
  • Types de données polyvalents : Les clés et les valeurs peuvent être n'importe quel type d'objet.
  • Emplacement du colis : Réside dans le java.util colis.
  • Gestion des valeurs nulles : Accepte null à la fois comme clé et comme valeur.

Exemple illustratif :

<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Création de HashMap

Le constructeur HashMap est simple :

<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Exemple :

<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Ici, String représente le type de clé et Integer le type de valeur.


Méthodes HashMap essentielles

Examinons les méthodes HashMap fréquemment utilisées :

1. put(K key, V value)

  • Fonctionnalité : Ajoute une paire clé-valeur. Si la clé existe, la valeur est mise à jour.
  • Exemple :
<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

2. get(Object key)

  • Fonctionnalité : Récupère la valeur associée à la clé donnée. Renvoie null si la clé est absente.
  • Exemple :
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

3. getOrDefault(Object key, V defaultValue)

  • Fonctionnalité : Récupère la valeur ; si la clé est manquante, renvoie le defaultValue.
  • Exemple :
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

4. containsKey(Object key)

  • Fonctionnalité : Vérifie si la carte contient la clé spécifiée.
  • Exemple :
<code class="language-java">HashMap<Integer, String> myMap = new HashMap<>();
myMap.put(1, "Apple");
myMap.put(2, "Banana");
myMap.put(1, "Orange"); // Updates value for key 1
System.out.println(myMap); // Output: {1=Orange, 2=Banana}</code>
Copier après la connexion

5. containsValue(Object value)

  • Fonctionnalité : Vérifie si la carte contient la valeur spécifiée.
  • Exemple :
<code class="language-java">System.out.println(myMap.get(1)); // Output: Orange
System.out.println(myMap.get(4)); // Output: null</code>
Copier après la connexion

6. remove(Object key)

  • Fonctionnalité : Supprime l'entrée pour la clé donnée et renvoie sa valeur (ou null si elle n'est pas trouvée).
  • Exemple :
<code class="language-java">System.out.println(myMap.getOrDefault(4, "Default")); // Output: Default</code>
Copier après la connexion

7. putIfAbsent(K key, V value)

  • Fonctionnalité : Ajoute la paire clé-valeur uniquement si la clé n'existe pas déjà.
  • Exemple :
<code class="language-java">System.out.println(myMap.containsKey(1)); // Output: true
System.out.println(myMap.containsKey(4)); // Output: false</code>
Copier après la connexion

8. replace(K key, V value)

  • Fonctionnalité : Remplace la valeur de la clé uniquement si la clé existe.
  • Exemple :
<code class="language-java">System.out.println(myMap.containsValue("Orange")); // Output: true
System.out.println(myMap.containsValue("Grape")); // Output: false</code>
Copier après la connexion

9. keySet()

  • Fonctionnalité : Renvoie un Set de toutes les clés de la carte.
  • Exemple :
<code class="language-java">System.out.println(myMap.remove(1)); // Output: Orange
System.out.println(myMap); // Output: {2=Banana}</code>
Copier après la connexion

10. values()

  • Fonctionnalité : Renvoie un Collection de toutes les valeurs de la carte.
  • Exemple :
<code class="language-java">myMap.putIfAbsent(3, "Cherry"); // No change if key 3 exists
System.out.println(myMap);</code>
Copier après la connexion

11. entrySet()

  • Fonctionnalité : Renvoie un Set de toutes les paires clé-valeur (Map.Entry).
  • Exemple :
<code class="language-java">myMap.replace(2, "Mango");
System.out.println(myMap);</code>
Copier après la connexion

12. compute(K key, BiFunction remappingFunction)

  • Fonctionnalité : Met à jour la valeur à l'aide d'une fonction fournie.
  • Exemple : (Nécessite une BiFunction implémentation)
<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

13. merge(K key, V value, BiFunction remappingFunction)

  • Fonctionnalité: combine une nouvelle valeur avec la valeur existante à l'aide d'une fonction.
  • Exemple: (nécessite une implémentation BiFunction)
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Exemple complet: Analyse de la fréquence des mots

Cet exemple présente HashMap pour compter les fréquences de mots:

<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
Copier après la connexion
Copier après la connexion
Copier après la connexion

Conclusion

HashMap est une structure de données Java fondamentale, offrant une gestion efficace des paires de valeurs clés. La maîtrise de ses méthodes vous permet de relever divers défis de programmation, des simples recherches de données aux tâches de manipulation de données sophistiquées. Incorporez HashMap dans vos projets pour exploiter sa puissance et son efficacité.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal