Что будет если добавить еще один элемент при размере ArrayList 10

«Что будет если добавить еще один элемент при размере ArrayList 10» — вопрос из категории Java, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

При добавлении элемента в ArrayList с размером 10 (capacity 10), произойдет следующее:

  1. Если size == capacity (10), внутренний массив переполнится.
  2. Создается новый массив с увеличенной емкостью (обычно oldCapacity * 1.5 → 15).
  3. Все существующие элементы копируются в новый массив.
  4. Новый элемент добавляется в конец.

Пример:

ArrayList<Integer> list = new ArrayList<>(10);
for (int i = 0; i < 10; i++) list.add(i); // size=10, capacity=10
list.add(10); // Произойдет расширение массива

Это автоматический процесс, но он создает временные накладные расходы на копирование.