Встречается на 2% собеседований по Java

Определяется ли hashCode ключа при добавлении элемента в HashMap

Да, hashCode ключа определяется при добавлении элемента в HashMap. Это происходит для вычисления индекса корзины (bucket), куда будет помещена запись. Если hashCode не переопределен, используется реализация Object.hashCode().

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1); // Вычисляется hashCode строки "key"

Важные нюансы:

  1. Если hashCode ключа изменится после добавления в HashMap, элемент может стать недоступным
  2. Для корректной работы HashMap важно, чтобы hashCode() был согласован с equals()
  3. В Java 8 при коллизиях используется сбалансированное дерево вместо списка при большом количестве элементов в корзине
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы