Collision dans Hashmap en Java
L’interface de collections Java fournit la fonctionnalité de la structure de données de la table de hachage à l’aide de sa classe HashMap
. Cette classe stocke les éléments dans une paire clé-valeur où les clés agissent comme des identifiants et sont associées de manière unique à une valeur dans la carte.
Dans ce tutoriel, nous aborderons la collision en Java.
La clé HashMap
contient un hashcode et une méthode equals()
. Chaque fois que nous insérons une nouvelle entrée dans la carte, elle vérifie le code de hachage. Il analyse l’ensemble du pool d’objets, recherchant la similitude du code de hachage à l’aide de la méthode equals()
.
Si une entrée existe, la nouvelle valeur remplacera alors la valeur principalement existante. Sinon, il créera simplement une toute nouvelle paire clé-valeur.
Une collision se produit lorsque plusieurs clés sont hachées dans le même compartiment ou, par exemple, lorsque deux objets ou plus ont le même code de hachage mais sont différents. Lorsque deux clés sont hachées à la même valeur, une liste chaînée est formée à l’emplacement du compartiment, où toutes les informations sont stockées en tant qu’entrée de la carte, qui contient la paire clé-valeur.
L’accès à n’importe quel objet peut s’avérer fastidieux si les entrées sont présentes à l’intérieur des listes. Ces listes chaînées ont été converties en arbres binaires à partir de la version Java 8.
HashMap
gère très efficacement les cas de collision en utilisant un concept connu sous le nom de chaînage, qui suggère de stocker les valeurs dans une liste chaînée ou un arbre binaire comme indiqué par la conversion de la méthodologie de Java 8.