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

Как HashMap обрабатывает добавление двух одинаковых объектов

При добавлении двух одинаковых ключей в HashMap (по equals() и hashCode()), значение второго ключа перезаписывает значение первого. Ключ остаётся тем же.

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1);
map.put("key", 2); // перезаписывает предыдущее значение
System.out.println(map.get("key")); // Выведет 2

Если ключи разные (по equals()), но имеют одинаковый hashCode(), они попадают в одну корзину (bucket) и хранятся как связанный список (или дерево, если элементов много).

Важно: для корректной работы HashMap ключи должны быть immutable или их hashCode() не должен меняться после добавления.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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