J'ai une classe de personne qui a un nom et une liste d'amis dans HashSet.
Je veux remplacer un equals
pour cette classe Personne. Voici ce que j'ai écrit jusqu'à présent.
Mais je ne suis pas sûr de cela, car je sais que les ensembles de hachages ne doivent pas nécessairement être dans l'ordre, et j'ai également entendu dire que je devais surcharger la méthode HashCode.
Quelles modifications dois-je apporter aux codes ci-dessous pour mettre en œuvre correctement la méthode equals ?
public boolean equals(Note target){
if(this.name==target.getName() && this.friends == target.getFriends()){
return true;
}
return false;
}
public HashSet<Person> getFriends(){
return this.friends;
}
modifier
//override hashCode()
public int hashCode() {
return name.hashCode() + friends.hashCode();
}