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

Как увеличивается количество бакетов в HashMap

При создании HashMap по умолчанию выделяется 16 бакетов. При достижении loadFactor (по умолчанию 0.75) количество бакетов увеличивается вдвое. Например, для capacity=16 при добавлении 12-го элемента (16 * 0.75) произойдет рехеширование и размер станет 32.

Пример:

java
Map<String, Integer> map = new HashMap<>(); // 16 бакетов
for (int i = 0; i < 12; i++) {
    map.put("key" + i, i); // При i=11 произойдет resize до 32
}

Важно: при рехешировании все элементы перераспределяются по новым бакетам с учетом нового размера (index = hash & (n-1)). Размер всегда остается степенью двойки для эффективного хеширования.

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

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

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

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