Задача решена!!!
Хочу уточнить пару возникших вопросов.
1) Почему при создании нового объекта Solution вызывается метод hashCode()?
Хотя фактически нет указаний на его вызов.
2) Мы вызываем метод contains(), а исполняется метод equals() ?
public class Solution {
private final String first, last;
public Solution(String first, String last) {
this.first = first;
this.last = last;
}
@Override
public boolean equals(Object o) {
*************
}
@Override
public int hashCode() {
***************
}
public static void main(String[] args) {
Set<Solution> s = new HashSet<>();
s.add(new Solution("Donaldadd", "Duckfff"));
System.out.println(s.contains(new Solution("Donald", "Duck")));
}
}