Встречается на 2% собеседований по Java

Как происходит вставка элемента в HashMap

Вставка элемента в HashMap происходит через метод put(key, value). Основные шаги:

  1. Вычисляется хэш ключа через hashCode() и дополнительно обрабатывается внутренним методом hash() для уменьшения коллизий
  2. Определяется индекс корзины (bucket) по формуле: (n - 1) & hash, где n - размер массива
  3. Если корзина пуста - создается новая нода и помещается туда
  4. Если корзина не пуста:
    • Проверяется совпадение хэша и ключа (через equals())
    • Если ключ существует - значение перезаписывается
    • Если это TreeNode (в случае преобразования в дерево) - вставка в дерево
    • Иначе - вставка в связный список (если длина > 8, список преобразуется в дерево)

Пример:

java
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1); // Вставка в пустую HashMap
map.put("banana", 2);
map.put("apple", 3); // Перезапись значения
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы