Comprendre la classe HashMap est essentiel pour les développeurs, à la fois dans les applications du monde réel et 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.
Mapmap = 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. Il s'agit du 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}
La sortie 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 une complexité temporelle moyenne de O(1) 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é en utilisant un HashMap en interne !
Principes de base de Java
Les essentiels de l'entretien de tableau
L'essentiel de la mémoire Java
Bon codage !
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3