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
695 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 :

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
    }
}
Copier après la connexion
Copier après la connexion
Copier après la connexion

Création de HashMap

Le constructeur HashMap est simple :

HashMap<KeyType, ValueType> mapName = new HashMap<>();
Copier après la connexion
Copier après la connexion
Copier après la connexion

Exemple :

HashMap<String, Integer> wordCounts = new HashMap<>();
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 :
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
    }
}
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 :
HashMap<KeyType, ValueType> mapName = new HashMap<>();
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 :
HashMap<String, Integer> wordCounts = new HashMap<>();
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 :
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}
Copier après la connexion

5. containsValue(Object value)

  • Fonctionnalité : Vérifie si la carte contient la valeur spécifiée.
  • Exemple :
System.out.println(myMap.get(1)); // Output: Orange
System.out.println(myMap.get(4)); // Output: null
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 :
System.out.println(myMap.getOrDefault(4, "Default")); // Output: Default
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 :
System.out.println(myMap.containsKey(1)); // Output: true
System.out.println(myMap.containsKey(4)); // Output: false
Copier après la connexion

8. replace(K key, V value)

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

9. keySet()

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

10. values()

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

11. entrySet()

  • Fonctionnalité : Renvoie un Set de toutes les paires clé-valeur (Map.Entry).
  • Exemple :
myMap.replace(2, "Mango");
System.out.println(myMap);
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)
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
    }
}
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)
HashMap<KeyType, ValueType> mapName = new HashMap<>();
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:

HashMap<String, Integer> wordCounts = new HashMap<>();
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!

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