Встречается на 2% собеседований по Java
За счет чего достигается константное время операций в HashMap, если нет коллизий
HashMap обеспечивает константное время O(1) для операций get() и put() благодаря хеш-функции и массиву бакетов.
- Хеш-функция преобразует ключ в целое число (хеш-код), определяющее индекс бакета.
- Массив бакетов хранит элементы. При отсутствии коллизий каждый ключ попадает в уникальный бакет.
Пример:
java
HashMap<String, Integer> map = new HashMap<>();
map.put("key1", 1); // Хеш "key1" → индекс, доступ за O(1)
map.get("key1"); // Прямой доступ по индексуНюансы:
- Коллизии (ключи с одинаковым хешем) превращают O(1) в O(n) для цепочки в бакете.
- При большом заполнении (load factor) массив расширяется, что требует рехеширования (временные затраты).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы