Sobes.tech
Senior

Otázka 2. Čo môže ísť zle s HashMap, ak majú všetky kľúče rovnaký hashCode? - Vyhľadávanie podľa kľúča nevráti správny objekt - Vyhľadávanie podľa kľúča sa spomalí - Vyhľadávanie podľa kľúča nevráti žiadny objekt

sobes.tech AI

Odpoveď od AI

Если у всех ключей в HashMap одинаковый hashCode(), то все они попадут в одну корзину (bucket). Это приведёт к следующим последствиям:

  • Поиск по ключу замедлится, так как вместо быстрого доступа по хешу придётся перебирать все элементы в одной цепочке (или дереве, если их много).
  • Поиск по ключу всё равно вернёт правильный объект, если ключ присутствует, потому что сравнение ключей происходит через equals().

Таким образом, правильный ответ: Поиск по ключу замедлится.

Пример:

Map<Key, Value> map = new HashMap<>();
// Все ключи имеют одинаковый hashCode
// При поиске будет перебор всех элементов в одной корзине