Что такое load factor в HashMap

«Что такое load factor в HashMap» — вопрос из категории Алгоритмы и структуры данных, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Load factor определяет, при каком уровне заполнения HashMap будет происходить увеличение размера (rehashing). По умолчанию равен 0.75 (75%).

Пример:
При capacity=16 и loadFactor=0.75, rehash произойдёт при 12 элементах.

val map = HashMap<Int, String>(16, 0.75f)
// При добавлении 13-го элемента capacity увеличится (~32)  

Нюансы:

  • Высокий load factor → меньше rehash, но выше вероятность коллизий.
  • Низкий load factor → больше памяти, но быстрый доступ.

Оптимальное значение (0.75) балансирует между памятью и производительностью.