Sobes.tech
Junior — Middle
99

HashMap деректер құрылымдарындағы ішкі массивтің бастапқы өлшемі қалай таңдалады?

AI-дан жауап

sobes.tech AI

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

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

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

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

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