Вопрос проверяет понимание баланса между потреблением памяти и производительностью HashMap.
Load factor — это коэффициент заполнения HashMap.
Он определяет, при каком количестве элементов происходит расширение карты.
Стандартное значение — 0.75.
Меньший load factor снижает коллизии, но увеличивает расход памяти.
Больший load factor экономит память, но ухудшает производительность.
Load factor напрямую влияет на поведение HashMap при росте данных.
Load factor — это коэффициент, определяющий допустимую плотность элементов в хеш-таблице.
Формула порога расширения:
threshold = capacity * loadFactor
Когда количество элементов превышает threshold:
создаётся новый массив большего размера
все элементы перераспределяются
0.75 выбрано как компромисс:
хорошая производительность
умеренное потребление памяти
уменьшать → при большом количестве коллизий
увеличивать → при жёстких ограничениях по памяти
Map<String, String> map = new HashMap<>(16, 0.75f);
Этот код задаёт:
начальную ёмкость
коэффициент загрузки
Load factor позволяет тонко управлять поведением HashMap, но в большинстве случаев стандартного значения достаточно.