Quelle est la différence entre hashcode et égal ?
La différence entre hashcode et égal est : 1. Si deux objets égal renvoie vrai, alors hashCode doit également renvoyer le même nombre int ; 2. Si deux objets hashCode renvoie le même numéro int, alors égal n'est pas nécessairement le cas. Renvoie vrai.
hashcode : une représentation entière de l'adresse initiale de l'objet
Les objets en Java sont gérés par la JVM, et la JVM fera l'affaire ainsi, lorsqu'il le juge approprié, le déplacement d'objets, par exemple le GC, se produit sous certains algorithmes GC qui nécessitent une défragmentation de la mémoire. A ce moment, l'adresse de l'objet changera, mais le hashcode ne changera pas.
hashCode vise à améliorer l'efficacité de la recherche dans le stockage de la structure de hachage et n'a aucun effet dans les tableaux linéaires.
Généralement, si un objet d'une classe sera stocké dans une structure de stockage de hachage telle que HashTable, HashSet, HashMap, etc., alors il est préférable de réécrire hashCode après avoir réécrit égal, sinon, les données seront stockées. Non-unicité (deux données égales sont stockées). S'il est déterminé qu'il ne sera pas stocké dans ces structures de hachage, vous n'avez pas besoin de réécrire le hashCode.
Si égal renvoie vrai pour deux objets, hashCode doit également renvoyer le même nombre int.
Si égal renvoie faux pour deux objets, hashCode ne renvoie pas nécessairement des nombres int différents, mais générer différentes valeurs hashCode pour des objets inégaux peut améliorer les performances de la table de hachage.
Si le hashCode de deux objets renvoie le même nombre int, égal à ne renvoie pas nécessairement vrai.
Si le hashCode de deux objets renvoie des nombres int différents, les égaux doivent renvoyer false.
Si le même objet est déjà stocké dans la collection lors de l'exécution, les informations pertinentes qui affectent la valeur hashCode ne peuvent pas être modifiées, sinon cela provoquera des fuites de mémoire.
De manière générale, lorsque vous comparez des tailles entre des objets, vous devez remplacer la méthode égale.
Tutoriel recommandé : "Tutoriel Java"
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)