1° vamos entender HashMaps… o que acontece ?? … um HashMap é como se contivesse container separada para cada HashMap
então quando vc adcionar um Key, a um HashMap, ele guarda o objeto num container identificado pelo número do HashCode…
Então suponha que vc tenha 6 objetos diferentes, porem alguns deles tem o mesmo hashCode, mais os objetos são diferentes, e portanto equals retorna falso entre eles…
Object1, hash = 3
Object2, hash = 1
Object3, hash = 2
Object4, hash = 2
Object5, hash = 1
Object6, hash = 3
Quando vc os adicona como Key de um hashMap… o que vai acontecer… é que o HashMap, vai dividir eles em 3 containers… de acordo com os hashMap
os objetos 2 e 5 vão para o container de 1
os objetos 3 e 4 vão para o container de 2
os objetos 1 e 6 vão para o conteiner de 3
esse é o mecanismo… que uma Collection Hash usa… o que ocorre, é que fica mais rapido encontrar, pois quando vc tenta buscar a key 6, ele verifica o hashCode, ve que é 3… vai direto no conteiner 3… e la dentro ele testa entre o 1, e o 6, econtrando com 2 testes, em vez, de testar entre 6 objetos…
…
no xemplo mostrado nesse exercicio… o HashCode foi sobrescrito, e é constante… ou seja… o conteiner é único para qualquer objeto, a funcionalidade do HashCode para o HashMap é anulado, e todos os objetos vão ser jogando dentro de um único container… porem, se os objetos forem diferentes, ele não vai excluir um previamente existente, ele so vai manter no mesmo container…
portanto, se o hashMap é unico (420) o tempo para encontrar uma Key Person, vai demorar sim, de acordo com a quantidade de Persons no HashMap, isso pq todos os objetos vão estar dentro de um único container, sendo assim tera que xecar entre todos os objetos…
a letra C afirma que ao incluir um, o outro sera exlucido, isso não é verdade, pois o hashCode pode ter sido sobrescrito com valor 420 para todos, porem a hashCode só identifica o conteiner, depois de encontrar o conteiner, a busca será entre todos os objetos dentro dele, através de teste de .equals() … sendo assim, uma key não vai excluir a outra
…
desculpa se fui extenso