Junior — Middle
O HashMap deve funcionar corretamente se todos os objetos tiverem o mesmo valor hashCode?
sobes.tech IA
Resposta da IA
O HashMap em Java funcionará se todos os objetos tiverem o mesmo valor hashCode, mas a eficiência será significativamente reduzida.
Porquê:
- Todos os elementos cairão na mesma bucket, pois hashCode é igual.
- Dentro da bucket, os elementos são armazenados em forma de lista ligada ou árvore (a partir do Java 8 em caso de muitas colisões).
- As operações get/put terão uma complexidade próxima de O(n) em vez da esperada O(1).
Assim, o HashMap continuará a funcionar, mas perderá a vantagem do acesso rápido. Para um funcionamento correto e desempenho eficiente, é importante que hashCode distribua os objetos de forma uniforme pelas buckets.