Я переопределил методы hashCode () и equals () в моем классе Person, так что два объекта Person с одинаковым именем (строка) будут рассматриваться как равные, но мой набор все еще содержит двух людей с одинаковым именем ,
Вот код из моего класса Person:
public boolean equals(Person aPerson) {
Person p = (Person) aPerson;
//Since name is a String, we can just use
//the overridden equals() method to ask
//one name if it's equal to the other
//person's name.
return getName().equals(p.getName());
}
public int hashCode() {
//Strings also have an overridden hashCode() method
//so we can just return the result of calling hashCode()
//on the name (instead of the object!)
return name.hashCode();
}