Différence entre égaux et code hash en Java

Différence entre égaux et code hash en Java

Différence clé - égaux VS HashCode dans Java
 

L'égal est similaire à l'opérateur ==, qui est de tester l'identité des objets plutôt que l'égalité des objets. Le HashCode est une méthode par laquelle une classe décompose implicitement ou explicitement les données stockées dans une instance de la classe en une seule valeur de hachage, qui est un entier signé à 32 bits. Le différence clé Entre égaux et HashCode dans Java est-ce Les égaux sont utilisés pour comparer deux objets tandis que le code de hash est utilisé dans le hachage pour décider quel groupe un objet doit être classé dans.

CONTENU

1. Aperçu et différence clé
2. Ce qui est égal à Java
3. Qu'est-ce que HashCode en Java
4. Comparaison côte à côte - est égal à Vs HashCode en Java sous forme tabulaire
5. Résumé

Ce qui est égal à Java?

La méthode égaux est utilisée pour comparer deux objets. La méthode par défaut égaux est définie dans la classe d'objets. Cette implémentation est similaire à l'opérateur ==. Les deux références d'objet ne sont égales que si elles pointent vers le même objet. Il est possible de remplacer la méthode égaux.

Figure 01: Programme Java avec égaux

Le système de déclaration.dehors.println (S1.égaux (s2)) donnera la réponse fausse car S1 et S2 font référence à deux objets différents. C'était similaire à la déclaration, système.dehors.println (s1 == s2);

Le système de déclaration.dehors.println (S1.égaux (S3)) donnera la réponse vraie car S1 et S3 font référence au même objet. C'était similaire à la déclaration, système.dehors.println (s1 == S3);

Il n'y a pas de méthode égale dans la classe étudiante. Par conséquent, les égaux dans la classe d'objets sont appelés. Vrai est affiché uniquement si la référence de l'objet pointe vers le même objet.

Figure 02: Programme Java avec égaux remplacés

Selon le programme ci-dessus, la méthode équivalente est remplacée. Un objet est transmis à la méthode, et il est conduit à l'élève. Ensuite, les valeurs d'ID sont vérifiées. Si les valeurs d'ID sont similaires, elle renverra vrai. Sinon, il reviendra faux. Les ID de S1 et S2 sont similaires. Donc, il imprimera True. Les ID de S1 et S3 sont également similaires, donc il imprimera True.

Qu'est-ce que HashCode en Java?

Le HashCode est utilisé dans le hachage pour décider dans quel groupe un objet doit être classé dans. Un groupe d'objets peut partager le même code de hachage. Une fonction de hachage correcte peut répartir uniformément des objets en différents groupes.

Un code de hash code correct peut avoir des propriétés comme suit. Supposons qu'il y a deux objets comme obj1 et obj2. Si obj1.égaux (obj2) est vrai, alors l'OBJ1.hashcode () est égal à obj2.hashcode (). Si obj1.égaux (obj2) est faux, il n'est pas nécessaire que l'OBJ1.hashcode () n'est pas égal à obj2.hashcode (). Les deux objets inégaux pourraient également avoir le même code de hachage.

Figure 03: Classe d'étudiant avec égaux et code de hachage

Figure 04: Programme principal

La classe étudiante contient les méthodes égales et codées de hash. La méthode égaux dans la classe étudiante recevra un objet. Si l'objet est nul, il reviendra faux. Si les classes des objets ne sont pas les mêmes, il reviendra faux. Les valeurs d'ID sont vérifiées dans les deux objets. S'ils sont similaires, il reviendra vrai. Sinon il reviendra faux.

Dans le programme principal, les objets S1 et S2 sont créés. Lorsque vous appelez S1.Les égaux (S2) donneront vrai car la méthode égale est remplacée et il vérifie les valeurs d'ID des deux objets. Même s'ils font référence à deux objets, la réponse est vraie car les valeurs d'ID de S1 et S2 sont les mêmes. Comme le S1.Les égaux (S2) sont vrai. L'impression du code de hash de S1 et S2 donne la même valeur. La méthode HashCode peut être utilisée avec des collections telles que Hashmap.

Quelle est la différence entre les égaux et les codes de hachage en java?

est égal à VS HashCode en Java

Equals est une méthode en Java qui agit similaire à l'opérateur ==, qui est de tester l'identité des objets plutôt que l'égalité des objets. HashCode est une méthode par laquelle une classe décompose implicitement ou explicitement les données stockées dans une instance de la classe en une seule valeur de hachage.
 Usage
La méthode égaux est utilisée pour comparer deux objets. La méthode est utilisée dans le hachage pour décider dans quel groupe un objet doit être placé.

Résumé - égal VS HashCode dans Java

La différence de code d'égal et de hashcode en Java est que les égaux sont utilisés pour comparer deux objets tandis que le code de hash est utilisé dans le hachage pour décider quel groupe un objet doit être classé en.

Référence:

1.«Java Hashcode ().»Wikipedia, Wikimedia Foundation, 17 février. 2018. Disponible ici 
2.Harold, Elliotte Rusty. «La méthode equals ().”La méthode equals (), 2 novembre. 2001. Disponible ici