@Override
public int hashCode(){
return this.nome.hashCode();
}
@Override
public int hashCode(){
return this.nome.hashCode();
}
Simplificando, hashCode() retorna um valor inteiro, gerado por um algoritmo de hash. Objetos que são iguais (de acordo com seus equals() ) devem retornar o mesmo código hash. Quando você fizer contains() em um HashMap, por exemplo, o Java buscará o código hash do elemento e, em seguida, procurará dentro do Map. Se mais de 1 elemento for encontrado no mesmo intervalo (vários objetos podem ter o mesmo código hash), ele usa o método equals() para avaliar se os objetos são iguais e, em seguida, decidir se contains() é verdadeiro ou falso, ou decidir se o elemento poderia ser adicionado no conjunto ou não.