Sobes.tech
Junior — Middle

Как се променя размерът на ArrayList при последователно добавяне на елементи до достигане на определено количество

sobes.tech AI

Отговор от AI

В Java класът ArrayList реализира динамичен масив, който автоматично увеличава размера си при добавяне на нови елементи, ако текущата му капацитет е запълнен.

Първоначално ArrayList се създава с определена капацитет (по подразбиране 10). Когато броят на елементите достигне тази капацитет, размерът на вътрешния масив се увеличава. В стандартната реализация размерът се увеличава приблизително с 50% от текущия (т.е., новият капацитет = старият капацитет + старият капацитет / 2).

Това позволява баланс между разходите за копиране на данни и използването на памет.

Пример:

ArrayList<Integer> list = new ArrayList<>();
// Добавяме елементи, когато размерът достигне 10, капацитетът ще се увеличи приблизително до 15
for (int i = 0; i < 20; i++) {
    list.add(i);
}