Какая сложность добавления элемента в HashMap

«Какая сложность добавления элемента в HashMap» — вопрос из категории Алгоритмы и структуры данных, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Добавление элемента в HashMap в среднем имеет сложность O(1) (амортизированная константа).

Нюансы:

  • При коллизиях (когда несколько ключей попадают в один бакет) сложность может ухудшиться до O(n) (если все элементы попадают в один бакет).
  • При превышении loadFactor (по умолчанию 0.75) происходит рехеширование (увеличение размера таблицы), что требует O(n) времени.

Пример:

val map = HashMap<String, Int>()
map.put("key", 42)  // O(1) в среднем