Теория
Каков контракт equals/hashCode и почему его соблюдение важно?
Взаимосвязь контрактов методов equals и hashCode заключается в следующем:
Читать ответ