Встречается на собеседованиях • сегодня

После достижения какой длины список превращается в дерево в HashMap

В Java 8+ при достижении длины связного списка в корзине (bucket) 8 элементов, он преобразуется в сбалансированное красно-черное дерево (если размер HashMap ≥ 64). Это сделано для оптимизации поиска с O(n) до O(log n) при коллизиях. Если размер HashMap < 64, вместо преобразования в дерево происходит расширение таблицы (resize).

Пример:

java
HashMap<Key, Value> map = new HashMap<>();
// Добавляем 8 элементов с одинаковым хэш-кодом
for (int i = 0; i < 8; i++) {
    map.put(new Key(i), "Value" + i);
}
// 9-й элемент с тем же хэш-кодом → список → дерево (если размер >= 64)
map.put(new Key(9), "Value9");

Обратное преобразование (дерево → список) происходит при уменьшении размера узлов до 6.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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