En programmation Java, la méthode hashCode()
joue un rôle crucial. Elle est utilisée pour accélérer certaines opérations telles que la recherche, l'ajout et la suppression d'éléments dans une collection. La question porte sur le type de retour de cette méthode en Java. La bonne réponse est : int
.
En Java, la méthode hashCode()
est une méthode native de la classe Object. Chaque classe en Java hérite directement ou indirectement de cette classe, donc elles ont toutes la méthode hashCode()
. Cette méthode est destinée à retourner un entier (int
), qui est l'empreinte numérique de l'objet sur lequel la méthode est appelée.
Un exemple simple pourrait ressembler à ceci :
class Test {
int x;
Test(int x) {
this.x = x;
}
@Override
public int hashCode() {
return x;
}
}
public class Main {
public static void main(String[] args) {
Test t = new Test(5);
System.out.println(t.hashCode()); // affiche 5
}
}
Dans cet exemple, on a redéfini la méthode hashCode()
pour qu'elle retourne la variable x
. Donc quand on crée un objet de la classe Test avec x = 5
, la méthode hashCode()
renvoie 5
, un entier.
Il est recommandé de surcharger la méthode hashCode()
chaque fois que vous surchargez la méthode equals()
dans une classe pour maintenir le contrat général entre hashCode()
et equals()
. Autrement dit, si deux objets sont considérés comme égaux via la méthode equals()
, leurs empreintes de hachage renvoyées par hashCode()
devraient également être égales.
Finalement, la méthode hashCode()
est extrêmement importante en Java, car elle permet de manipuler efficacement des structures de données comme les sets et les maps. Sachant cela, retourner le bon type int
est donc crucial pour le bon fonctionnement du programme.