Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida HashCode

Mesmo usando List é necessário sobreescrever o método HashCode ?

3 respostas

Oi Victor

Ao contrário de um HashMap, um ArrayList não precisa usar o método hashCode(), pois a ordem dos elementos em um ArrayList é determinada pela ordem em que foram inseridos, e não por hash.

Olá Otávio Estou falando no sentido de comparação de objetos, no de sobrescrever o método equals(), seria boa pratica sobrescrever o hashCode() mesmo que a implementação de List não utiliza-lo ?

solução!

Oi Victor

o hashCode não é usado diretamente por ArrayList, mas no equals é usado o hashCode para determinar se um objeto está localizado na Lista, portanto sempre que você sobrescrever equals, você deve sobrescrever o hashCode também, uma vez que objetos iguais devem ter o mesmo hashCode.