Junior — Middle
Ako sa mení veľkosť ArrayList pri postupnom pridávaní prvkov až do dosiahnutia určitého počtu
sobes.tech AI
Odpoveď od AI
V Jave implementuje trieda ArrayList dynamický poľ, ktorý sa automaticky zväčšuje pri pridávaní nových prvkov, ak je aktuálna kapacita zaplnená.
Pôvodne je ArrayList vytvorený s určitým kapacitným rozsahom (predvolene 10). Keď počet prvkov dosiahne túto kapacitu, veľkosť vnútorného poľa sa zväčší. V štandardnej implementácii sa veľkosť zväčší približne o 50 % aktuálnej (t.j., nová kapacita = stará kapacita + stará kapacita / 2).
Toto umožňuje vyvážiť náklady na kopírovanie dát a využitie pamäti.
Príklad:
ArrayList<Integer> list = new ArrayList<>();
// Pridávame prvky, keď veľkosť dosiahne 10, kapacita sa približne zvýši na 15
for (int i = 0; i < 20; i++) {
list.add(i);
}