Встречается на собеседованиях • сегодня
Какая сложность при расширении ArrayList на каждом 1000 элементе
При добавлении элементов в ArrayList, когда его capacity (вместимость) заканчивается, происходит расширение внутреннего массива. По умолчанию массив увеличивается в 1.5 раза (в Java 8+).
Если расширение происходит каждые 1000 элементов, это означает, что capacity увеличивается на 50% (например, с 2000 до 3000). В этот момент создается новый массив большего размера, и все элементы копируются в него.
Сложность операции расширения - O(n), где n - текущий размер ArrayList. Однако амортизированная сложность добавления остается O(1), так как дорогостоящие операции расширения происходят редко.
Пример:
```java
ArrayList list = new ArrayList<>(1000);
for (int i = 0; i < 10000; i++) {
list.add(i); // При i=1000,2000,3000... произойдет расширение
}
```

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