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

Листы в HashMap односвязные или двусвязные

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

Пример структуры узла в односвязном списке:

java
static class Node<K,V> implements Map.Entry<K,V> {
    final int hash;
    final K key;
    V value;
    Node<K,V> next; // Ссылка на следующий узел
    // ...
}

Двусвязные списки не используются из-за накладных расходов на память и отсутствия необходимости в обратном обходе.

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

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

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

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