Sobes.tech
Junior — Middle

Como o HashSet se comporta quando há elementos com o mesmo código hash das chaves?

sobes.tech IA

Resposta da IA

HashSet em Java e Kotlin baseia-se numa tabela de hash e usa o código de hash dos elementos para acesso rápido. Se vários elementos tiverem o mesmo código de hash (colisão), HashSet armazena-os numa 'cesta' (bucket), geralmente na forma de uma lista ligada ou árvore.

Ao adicionar um novo elemento com um código de hash que já existe, HashSet compara os elementos usando equals(). Se o elemento já existir, não é adicionado; caso contrário, é adicionado à cesta.

Assim, a existência de códigos de hash iguais não leva à perda de dados, mas pode diminuir o desempenho das operações devido à necessidade de comparar sequencialmente os elementos na cesta.