Equals e hashCode

O método equals depende da implementação do meu hashCode para funcionar??? Alguém tem um exemplo disso? Estou um pouco confuso!!!

Gustavo Guilherme BacK

se vc tiver um Set e chamar o método add acontece o seguinte;

1 - set.add(obj);
2 - chama o hashcode: retornou 17999 por exemplo
3 - vai na posicao 17999 e verifica se ja existe um elemento
4 - se nao existe, insere o elemento nesta posicao
5 - ja existe, entao compara para ver se é igual :
6 - agora entra o equals(), sendo que é usado para comparar
7 - se for igual nao insere, caso contrario insere em outra posicao eu acho

é sempre assim: chama 1º o hashcode para encontrar a posicao, e depois chama o equals() para comparar caso já exista alguém!

é por isso q vc precisa implementar o hashcode se implementar o equals, pois senao os endereços comparados vao ser por default sempre diferentes!