Встречается на 2% собеседований по Java
Как бы реализовал алгоритм вставки элемента в HashMap
В Java HashMap использует метод put() для вставки элементов. Алгоритм включает:
- Вычисление хеша ключа через
hashCode()и дополнительное перемешивание (чтобы избежать коллизий). - Определение индекса корзины через
(n - 1) & hash, гдеn— размер массива корзин. - Проверка корзины:
- Если корзина пуста — создаётся новая нода.
- Если ключ существует — значение перезаписывается.
- Если возникает коллизия (хеш совпал, но ключи разные) — элемент добавляется в связный список/красно-черное дерево (если длина списка > 8).
Пример:
java
HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42); // Вставка элементаНюансы:
- При достижении
loadFactor(по умолчанию 0.75) размер массива удваивается и происходит рехеширование. - Для корректной работы ключи должны правильно реализовывать
hashCode()иequals().

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