HashCode
stampia02
Messages postés
95
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'aimerai connaitre la meilleur facon de redefinir hashCode et d'avoir une méthode de hashing la plus efficace possible?
Merci
J'aimerai connaitre la meilleur facon de redefinir hashCode et d'avoir une méthode de hashing la plus efficace possible?
Merci
1 réponse
Bonjour,
Java s'occupe d'optimiser l'algorithme de hachage, la seule chose qu'il est nécessaire de lui fournir c'est un entier avec ces caractéristiques :
Mais que la valeur du hashCode soit 1, 42 ou 165874 ça n'a aucun impact.
Java s'occupe d'optimiser l'algorithme de hachage, la seule chose qu'il est nécessaire de lui fournir c'est un entier avec ces caractéristiques :
- il est discriminant (deux objets différents doivent avoir très peu de chance d'avoir le même hashcode)
- il est rapide à calculer
Mais que la valeur du hashCode soit 1, 42 ou 165874 ça n'a aucun impact.
L'intérêt du hashCode est d'être rapide à calculer, ça permet d'éviter l'appel de la méthode equals dans la plupart des cas, car vu qu'elle est exhaustive elle est plus coûteuse, mais ça reste la seule méthode qui permet d'être absolument sûr de l'égalité de deux objets.