Comprendre la classe HashMap est essentiel pour les développeurs, tant dans les applications du monde réel que dans les entretiens. Dans cet article, nous explorerons comment insérer, mettre à jour et gérer des paires clé-valeur dans un HashMap. Ces connaissances jetteront également les bases de notre prochain article, dans lequel nous plongerons dans HashSet et verrons comment les deux collections sont liées.
Un HashMap stocke les données sous forme de paires clé-valeur, permettant des recherches, des mises à jour et des suppressions efficaces. Voici quelques caractéristiques importantes :
Explorons ces comportements plus en détail à travers des extraits de code.
La méthode put() ajoute une paire clé-valeur à la carte. Cependant, si la clé existe déjà, l'ancienne valeur sera remplacée.
Map<Integer, Integer> map = new HashMap<>(); // Insert two key-value pairs map.put(1, 2); map.put(2, 3);
Explication :
Ici, nous insérons deux entrées :
Maintenant, que se passe-t-il si nous essayons d'insérer une nouvelle valeur avec la même clé ?
// Replacing an existing value map.put(2, 4); // Key 2 already exists, so the value is replaced.
La clé 2 existait déjà avec la valeur 3, mais quand on appelle put(2, 4), la nouvelle valeur 4 remplace l'ancienne. C'est le comportement par défaut de HashMap.
Dans de nombreuses situations, vous ne souhaiterez peut-être pas que les valeurs soient remplacées si une clé existe déjà. Cela peut entraîner une perte de données si elle n'est pas traitée avec soin. Dans de tels cas, nous pouvons utiliser la méthode putIfAbsent().
// Ensuring value isn't replaced if key exists map.putIfAbsent(2, 5);
La méthode putIfAbsent() insère une valeur uniquement si la clé spécifiée n'est pas déjà présente dans la carte. Puisque la clé 2 est déjà associée à la valeur 4, l’appel de méthode ici n’a aucun effet.
System.out.println(map); // Output: {1=2, 2=4}
Le résultat montre que la clé 2 conserve la valeur 4 car putIfAbsent() n'a pas écrasé la valeur existante.
La classe HashMap est un outil puissant en Java pour stocker des paires clé-valeur, mais il est crucial de comprendre son comportement avec des clés en double. Savoir quand utiliser put() plutôt que putIfAbsent() peut vous aider à éviter la perte de données et à écrire du code efficace. Avec O(1) complexité temporelle moyenne pour les opérations de base, HashMap est un choix incontournable pour de nombreuses tâches critiques en termes de performances.
Restez à l'écoute pour le prochain article, où nous explorerons HashSet et comment il garantit l'unicité à l'aide d'un HashMap en interne !
Principes fondamentaux de Java
Les essentiels de l'entretien avec Array
L'essentiel de la mémoire Java
Bon codage !
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!