Назад к вопросам
СБЕР
Junior — Middle
59
Как осуществляется процесс добавления элемента в структуру данных HashMap?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
При добавлении элемента в HashMap в Java происходит несколько шагов:
- Вычисляется хэш-код ключа с помощью метода
hashCode(). - Хэш-код преобразуется в индекс массива (бакета) с помощью операции, учитывающей размер внутреннего массива (обычно через
hash & (capacity - 1)). - Если в выбранном бакете нет элементов, создаётся новая запись (Node) с ключом и значением.
- Если бакет уже содержит элементы (коллизия), происходит обход связанного списка или дерева (в новых версиях Java) для поиска ключа:
- Если ключ уже существует, его значение обновляется.
- Если ключа нет, новая запись добавляется в конец списка или в дерево.
Пример:
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 5); // Добавляет пару ключ-значение