Given:
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
public boolean equals(Object o) {
if ( ! ( o instanceof Person) ) return false;
Person p = (Person) o;
return p.name.equals(this.name);
}
}
Which statement is true?
A.
Compilation fails because the hashCode method is not overridden.
B.
A HashSet could contain multiple Person objects with the same name.
C.
All Person objects will have the same hash code because the hashCode method is not overridden.
D.
If a HashSet contains more than one Person object with name=”Fred”, then removing another Person, also with name=”Fred”, will remove them all.
B