Встречается на 2% собеседований по Java
Как происходит вставка значения в HashMap
При вставке пары ключ-значение в HashMap:
- Вычисляется хеш-код ключа через
hashCode() - На основе хеша определяется индекс корзины (bucket):
index = (n - 1) & hash, где n - размер массива - Если корзина пустая - создается нода и помещается туда
- Если корзина занята - происходит проверка:
- Если хеш и ключ совпадают - значение перезаписывается
- Если это TreeNode (в случае преобразования в дерево) - вставка в дерево
- Иначе - добавление в конец связного списка
- При превышении threshold (по умолчанию 0.75 от capacity) происходит resize()
Пример:
java
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1); // Вставка в пустую HashMap
map.put("banana", 2);
map.put("apple", 3); // Перезапись значения
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы