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

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