Pourquoi Java a-t-il besoin de equals () s'il y a hashCode ()?

Zhambul:

Si deux objets renvoient le même hashCode, cela ne signifie-t-il pas qu'ils sont égaux? Ou nous avons besoin d'égaux pour éviter les collisions?

Et puis-je implémenter égal en comparant les hashCodes?

shmakova:

Si deux objets ont le même hashCode, ils ne sont PAS nécessairement égaux. Sinon, vous aurez découvert la fonction de hachage parfaite. Mais l'inverse est vrai - si les objets sont égaux, alors ils doivent avoir le même hashCode.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Pourquoi SharedPreferences a-t-il besoin de deux clés?

Pourquoi Git a-t-il besoin de push signés?

Pourquoi n'y a-t-il pas de GIL dans la machine virtuelle Java? Pourquoi Python en a-t-il tellement besoin?

Pourquoi attoparsec a-t-il besoin de manyTill s'il fait marche arrière?

Pourquoi n'y aura-t-il pas de propriétés natives dans Java 7?

Pourquoi avons-nous besoin de ParHashMap de Scala alors qu'il y a ConcurrentHashMap de Java

Pourquoi DependencyProperties a-t-il besoin de propriétés de façade / getters / setters?

Pourquoi y a-t-il un "==" dans String.equals?

Pourquoi il y a un besoin de pageContext dans JSP?

pourquoi besoin de "println (char [] x)" alors qu'il y a déjà "println (Object x)" - java

pourquoi y a-t-il tant de clients ES Java ?

Pourquoi hashCode () de Java dans String utilise-t-il 31 comme multiplicateur?

Y a-t-il un avantage à appliquer l'implémentation de hashCode et equals en les rendant abstraits?

Pourquoi StringBuffer / StringBuilder ne remplace-t-il pas equals ou hashCode?

Pourquoi HashMap a-t-il besoin d'une fonction de hachage sécurisée par cryptographie?

Pourquoi a-t-il besoin d'un constructeur de copie rvalue même s'il ne sera pas appelé?

Pourquoi clflush a-t-il besoin de + m constante

Pourquoi Rust a-t-il besoin de la syntaxe ʻif let`?

Pourquoi std :: reduction a-t-il besoin de commutativité?

Pourquoi F # Set a-t-il besoin de IComparable?

Pourquoi std :: rc :: Rc a-t-il besoin de PhantomData?

Pourquoi «head» a-t-il besoin de «()» et «shape» non?

Pourquoi Flutter a-t-il besoin de git dans Windows?

Pourquoi * ngFor n'a-t-il pas besoin de crochets?

Pourquoi y a-t-il 5 éléments créés dans ma liste ? Besoin de créer une fonction de pointage. JavaScript

Pourquoi postgres (avec sequelize) compte-t-il 1 s'il n'y a pas de valeur?

pourquoi y a-t-il des classes java singleton? Quand auriez-vous besoin d'en utiliser un

ramassage des ordures java répété même s'il y a assez de mémoire java - pourquoi

Pourquoi JavaScript n'a-t-il pas besoin de points-virgules après les déclarations de fonction?

TOP liste

  1. 1

    comment afficher un bouton au-dessus d'un autre élément ?

  2. 2

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  3. 3

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  4. 4

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  5. 5

    Conversion double en BigDecimal en Java

  6. 6

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Passer la taille d'un tableau 2D à une fonction ?

  9. 9

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  10. 10

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  11. 11

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  12. 12

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  13. 13

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  14. 14

    Exporter la table de l'arborescence vers CSV avec mise en forme

  15. 15

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  16. 16

    Créer un système Buzzer à l'aide de python

  17. 17

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  18. 18

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  19. 19

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  20. 20

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  21. 21

    Microsoft.WebApplication.targets

chaudétiquette

Archive