Doublon au sein d'un HashSet
j'ai une classe Etudiant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public class Etudiant {
int id;
String nom;
String prenom;
public boolean equals(Object o){
if (o instanceof Etudiant){
return ( ((Etudiant)o).getNom().equals(this.getNom() ) );
}
return false;
}
public int HashCode(){
return 10;
}
} |
et une classe espHashSet :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public class EspHashSet {
Set<Etudiant> set;
public EspHashSet(){
set=new HashSet<Etudiant>();
}
public void addEtudiant(Etudiant e){
set.add(e);
}
} |
Dans le main , je peux insérer des doublons dans le HashSet :
Code:
1 2 3 4 5 6 7
|
EspHashSet set=new EspHashSet();
Etudiant x=new Etudiant("lll","kkk");
set.addEtudiant(x);
Etudiant p=new Etudiant("lll","kkk");
set.addEtudiant(p);
set.displayEtudiants(); |
output :
nom=lll prenom=kkk
nom=lll prenom=kkk
je ne comprends pas comment il a eu insertion de doublons !!!