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

Какой размер у массива из Buckets в HashMap

В HashMap массив бакетов (корзин) инициализируется с размером, кратным степени двойки. Начальный размер по умолчанию — 16. При превышении порога загрузки (load factor, по умолчанию 0.75) размер увеличивается вдвое (до 32, 64 и т.д.) для уменьшения коллизий.

Пример изменения размера:

java
HashMap<String, Integer> map = new HashMap<>(); // Начальный размер: 16
for (int i = 0; i < 12; i++) { // 12 элементов (16 * 0.75 = 12)
    map.put("key" + i, i);
}
// При добавлении 13-го элемента массив бакетов расширится до 32

Максимальный размер — (2^{30}) (ограничение JVM). Минимальный — 1 (если задан явно в конструкторе). Размер всегда округляется вверх до ближайшей степени двойки.

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

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

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

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