Встречается на 2% собеседований по Java
Когда структура данных внутри бакета HashMap меняется на дерево
В Java 8 HashMap переходит с linked list на сбалансированное красно-черное дерево при выполнении двух условий:
- Количество элементов в бакете превышает TREEIFY_THRESHOLD (8)
- Общий размер HashMap превышает MIN_TREEIFY_CAPACITY (64)
Пример преобразования:
java
Map<Integer, String> map = new HashMap<>();
for (int i = 0; i < 12; i++) {
// Коллизии для одного бакета
map.put(i * 16, "Value" + i);
}
// При 9-м элементе в бакете происходит treeifyПреимущества:
- Поиск в дереве O(log n) вместо O(n) в списке
- Защита от DoS-атак через худший случай O(n)
Обратное преобразование (UNTREEIFY_THRESHOLD = 6) происходит при удалении элементов.

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