Pergunta de entrevista da empresa BlackRock

Equals and HashCode in Java. Why do we need them?