Sobes.tech
Junior — Middle

Cum se modifică dimensiunea ArrayList-ului la adăugarea secvențială a elementelor până se atinge o anumită cantitate

sobes.tech AI

Răspuns de la AI

În Java, clasa ArrayList implementează un array dinamic care își mărește automat dimensiunea atunci când se adaugă elemente noi, dacă capacitatea curentă este plină.

Inițial, ArrayList este creat cu o anumită capacitate (implicit 10). Când numărul de elemente atinge această capacitate, dimensiunea array-ului intern este mărită. În implementarea standard, dimensiunea crește aproximativ cu 50% față de cea actuală (adică, noua capacitate = capacitatea veche + capacitatea veche / 2).

Acest lucru permite echilibrarea costurilor de copiere a datelor și utilizarea memoriei.

Exemplu:

ArrayList<Integer> list = new ArrayList<>();
// Adăugăm elemente, când dimensiunea ajunge la 10, capacitatea va crește aproximativ până la 15
for (int i = 0; i < 20; i++) {
    list.add(i);
}