Как происходит вставка значения в HashMap?

При вызове метода put(key, value):

Короткий ответ

Что ответить на собеседовании

При вызове метода put(key, value):

Подробный разбор

Ответ с пояснениями

При вызове метода put(key, value):

  1. Вычисляется хэш ключа (key.hashCode()).

  2. Этот хэш используется для определения индекса корзины (bucket) в массиве.

  3. Если в корзине пусто, создается новая запись (Node) с ключом, значением, хэшем и ссылкой на следующее значение (которая равна null), и помещается в корзину.

  4. Если в корзине уже есть записи:

    • Если существует запись с таким же ключом (key.equals(existingKey)), значение в этой записи обновляется.
    • Если ключи отличаются, новая запись связывается с существующими записями в виде связанного списка или дерева (если количество записей в корзине превышает пороговое значение, происходит преобразование в дерево для улучшения производительности).
  5. Проверяется, не превышен ли порог загрузки (load factor * capacity). Если превышен, происходит изменение размера массива (resizing) вдвое. При этом все существующие записи перераспределяются по новым корзинам.

// Пример вызова метода put
hashMap.put("ключ", "значение");

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку