Ответ
Размер хэш-таблицы в HashMap определяется начальной емкостью (capacity) и коэффициентом загрузки (load factor). По умолчанию:
- Начальная емкость: 16
- Коэффициент загрузки: 0.75
При достижении size > capacity * loadFactor происходит автоматическое увеличение емкости вдвое и перехеширование элементов. Можно задать свои параметры в конструкторе:
// С начальной емкостью 32 и loadFactor 0.8
Map<String, Integer> map = new HashMap<>(32, 0.8f);
Выбор размера влияет на производительность: слишком маленький размер приведет к частым рехешированиям, а слишком большой - к избыточному расходу памяти.