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

Какая сложность операций в HashMap при использовании дерева

В Java 8+ при коллизиях в HashMap используется сбалансированное дерево (красно-черное) для хранения элементов, когда размер бакета превышает TREEIFY_THRESHOLD (8).

Сложность операций:

  • В среднем случае (без коллизий): O(1)
  • В худшем случае (все элементы в одном бакете):
    • До Java 8: O(n) (список)
    • Java 8+: O(log n) (дерево)

Пример:

java
Map<Integer, String> map = new HashMap<>();
// Вставка: O(1) в среднем, O(log n) при коллизиях
map.put(1, "a"); 
// Поиск: O(1) в среднем, O(log n) при коллизиях
String value = map.get(1);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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