Встречается на 2% собеседований по Java
Что происходит в HashMap при добавлении новой пары ключ-значение, если ни один из ключей не совпадает с новым ключом по equals
При добавлении новой пары в HashMap:
- Вычисляется хэш-код ключа через hashCode()
- По хэш-коду определяется индекс корзины (bucket) в массиве:
index = (n - 1) & hash, где n - размер массива - Если корзина пустая - создается новый узел (Node) и сохраняется в массив
- Если корзина не пустая, но хэши разные - новый узел добавляется в конец цепочки (или в дерево, если цепочка длинная)
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("a", 1); // Создается новая корзина
map.put("b", 2); // Другая корзина (если хэши разные)Важно: даже если equals() возвращает false, но хэши совпали - будет коллизия, и элементы попадут в одну корзину как связанный список/дерево.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы