Встречается на собеседованиях • сегодня
Что такое Capacity в ArrayList и HashSet
Capacity — это текущий размер внутреннего массива, выделенного для хранения элементов. В ArrayList и HashSet capacity увеличивается автоматически при заполнении, но можно задать начальное значение для оптимизации.
**ArrayList**:
```java
ArrayList list = new ArrayList<>(20); // capacity=20
```
По умолчанию capacity=10. При добавлении 11-го элемента массив увеличивается в 1.5 раза (newCapacity = oldCapacity + (oldCapacity >> 1)).
**HashSet**:
В основе лежит HashMap, capacity — размер массива бакетов.
```java
HashSet set = new HashSet<>(32); // начальная capacity=32
```
Увеличивается при достижении loadFactor (по умолчанию 0.75). Например, для capacity=16 увеличение произойдёт при 12 элементах.
**Важно**: capacity ≠ size (количество элементов). Указание начальной capacity помогает избежать затратных операций расширения.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы