Sobes.tech
Junior — Middle

¿Cómo se selecciona el tamaño inicial del array interno en las estructuras de datos HashMap?

sobes.tech AI

Respuesta de la IA

В реализации HashMap в Java (и Android) начальный размер внутреннего массива (capacity) по умолчанию равен 16. Это означает, что при создании HashMap без указания размера создаётся массив из 16 бакетов для хранения элементов.

Размер всегда выбирается как степень двойки, чтобы оптимизировать вычисление индекса для ключа через битовые операции. При добавлении элементов, если количество заполненных бакетов превышает порог (load factor, по умолчанию 0.75), размер массива увеличивается вдвое.

Пример создания HashMap с начальным размером:

Map<String, Integer> map = new HashMap<>(32); // внутренний массив будет размером 32

Если размер не указан, используется значение по умолчанию 16.