Sobes.tech
Junior — Middle

Kako se veličina ArrayList menja pri rednom dodavanju elemenata do dostizanja određene količine?

sobes.tech АИ

Одговор од АИ

У Јави, класа ArrayList имплементира динамички низ који аутоматски повећава своју величину када се додају нови елементи, ако је тренутна капацитет попуњена.

Иницијално, ArrayList се креира са одређеном капацитетом (подразумевано 10). Када број елемената достигне ову капацитет, величина унутрашњег низа се повећава. У стандардној имплементацији, величина се повећава отприлике за 50% у односу на тренутни (односно, нова капацитет = стара капацитет + стара капацитет / 2).

Ово омогућава баланс између трошкова копирања података и коришћења меморије.

Пример:

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