Встречается на 2% собеседований по Java
Как происходит процесс добавления элемента в HashMap
При добавлении элемента в HashMap сначала вычисляется хеш-код ключа через метод hashCode(). Затем хеш модифицируется внутренним методом hash() для уменьшения коллизий.
На основе хеша определяется индекс корзины (bucket):
index = (n - 1) & hash, где n — размер массива корзин.
Если корзина пуста — элемент добавляется в виде Node. Если уже есть элементы:
- Проверяется ключ (через
equals()). Если совпадает — значение перезаписывается. - Если это
TreeNode(в случае преобразования в красно-черное дерево при большом кол-ве коллизий) — вставляем в дерево. - Иначе — добавляем в связный список. При достижении
TREEIFY_THRESHOLD(8) список конвертируется в дерево.
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("key", 1); // hash("key") -> индекс, вставка в bucketПри переполнении (load factor > 0.75 по умолчанию) массив корзин увеличивается в 2 раза и все элементы перераспределяются.

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