Pessoal,
Fiquei um pouco confuso com o uso do hashCode no Java, eu sei o conceito de tabela hash, sei o conceito colisão de códigos hash (utilizando listas para auxilio), sei o conceito de re-hash, mas não entendo os metodos que o eclipse gera para trabalhar com os mesmos.
Quando digito ALT+SHIFT+S, o eclipse me permite criar o metodo equals() e o metodo hashCode() para meus atributos privados.
No metodo hashCode() ele cria uma soma/multiplicação que gera o hashcode de cada entrada, enquanto no equals(), ele simplismente compara um, ou mais atributos dos objetos em questão.
Dai vem minha dúvida, ok, eu posso gerar o hashCode das minhas entradas (seja nome, telefone etc…) e compará-las, MAS e se houver colisão? ou seja, tenho mais de um registro com o mesmo hashCode.
Supondo, tenho dois nomes armazenados em uma estrutura de dados qualquer, na hora que vou comparar um terceiro nome com esses dois, qualquer um deles serviria, mas eles são diferentes, como procedo?
grato