1
resposta

Ao sobreescrever o método hashCode() eu não devo me preocupar como é gerado a identificação de cada objeto na coleção ?? algoritmo etc...

@Override

public int hashCode(){

return this.nome.hashCode();

}

1 resposta

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.