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

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

В HashMap значение получается по ключу через метод get(). Процесс включает:

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

Пример:

java
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
int value = map.get("apple"); // 1

Если ключа нет, возвращается null. Время поиска – в среднем O(1), в худшем случае (все ключи в одном бакете) – O(n).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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