Exemple Java HashSet
En Java, j'ai un ensemble comme celui-ci:
Set<Student> studentsSet = new HashSet<Student>();
Quelqu'un Peut-il donner un exemple de comment l'utiliser dans un exemple?
0
Author: Eric Leschinski, 2013-12-26
1 answers
Exposant ce que j'avais mentionné comme commentaire:
Utilisez le rollNumber
comme identité, afin d'implémenter les méthodes equals()
et hashcode()
. Par exemple, la classe Student
pourrait ressembler à:
class Student {
private int rollNumber;
private String name;
public Student(int rollNumber, String name) {
this.rollNumber = rollNumber;
this.name = name;
}
@Override
public int hashCode() {
return rollNumber;
}
@Override
public boolean equals(Object obj) {
Student other = (Student) obj;
return (rollNumber == other.rollNumber);
}
}
Vous pouvez supprimer un étudiant de cette façon - notez que seul le numéro de rouleau aura une incidence sur ce qui est supprimé de l'ensemble, ce qui est conforme à ce que les equals
et hashcode
recherchent:
Set<Student> students = new HashSet<Student>();
students.remove(new Student(3, "I don't care what her/his name is!"));
2
Author: aquaraga, 2014-05-13 07:30:42