Sobes.tech
Назад к вопросам
Junior — Middle
70

Как определяется временная сложность операции вставки элемента в HashMap?

Компании, где спрашивали
ЯндексЯндекс

Ответ от нейросети

sobes.tech AI

Временная сложность операции вставки элемента в HashMap в Java в среднем составляет O(1) — константное время. Это достигается за счёт использования хеш-функции для быстрого определения позиции.

Однако в худшем случае, если происходит коллизия и все элементы попадают в одну корзину (bucket), вставка может деградировать до O(n), где n — количество элементов в этой корзине.

Начиная с Java 8, при большом числе коллизий корзина преобразуется из связного списка в сбалансированное дерево (TreeMap), что улучшает худший случай до O(log n).

Пример:

HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42); // вставка за O(1) в среднем