Est-ce que equals utilise un hashcode ?

Est-ce que equals utilise un hashcode ?
Est-ce que equals utilise un hashcode ?
Anonim

HashCode L'égalité ne signifie pas que equals renvoie true. Le contrat est que deux objets qui sont égaux doivent avoir le même hashCode. Mais il n'indique PAS que les deux objets avec le même HashCode doivent être égaux.

Est-ce que la méthode equals utilise hashCode ?

Lorsque nous parlons de la méthode equals, le but principal est de comparer l'état de deux objets ou le contenu de l'objet.

Égal à utilise-t-il hashCode C ?

C'est parce que le framework exige que deux objets identiques aient le même hashcode. Si vous remplacez la méthode equals pour effectuer une comparaison spéciale de deux objets et que les deux objets sont considérés comme identiques par la méthode, le code de hachage des deux objets doit également être le même.

À quoi servent le hashCode et les égaux ?

La méthode hashcode renvoie la même valeur de hachage lorsqu'elle est appelée sur deux objets, qui sont égaux selon la méthode equals. Et si les objets sont inégaux, il renvoie généralement des valeurs de hachage différentes.

HashMap utilise-t-il hashCode ou égal ?

Vous pouvez remplacer ceci dans votre classe pour fournir votre propre implémentation. HashMap utilise equals pour comparer la clé, qu'elle soit égale ou non. Si la méthode equals renvoie true, ils sont égaux sinon pas égaux. Un seul compartiment peut avoir plusieurs nœuds, cela dépend de la méthode hashCode.

Conseillé: