Sobes.tech
Junior — Middle

Kaip keičiasi ArrayList dydis nuosekliai pridedant elementus iki tam tikro kiekio?

sobes.tech AI

Atsakymas iš AI

Java kalboje ArrayList įgyvendina dinaminį masyvą, kuris automatiškai didėja, kai pridedami nauji elementai, jei dabartinė talpa yra pilna.

Pradžioje, ArrayList sukuriamas su tam tikra talpa (numatyta 10). Kai elementų skaičius pasiekia šią talpą, vidinis masyvas padidinamas. Standartinėje įgyvendinimo versijoje, dydis padidėja maždaug 50% nuo dabartinio (t.y., nauja talpa = sena talpa + sena talpa / 2).

Tai leidžia subalansuoti duomenų kopijavimo išlaidas ir atminties naudojimą.

Pavyzdys:

ArrayList<Integer> sąrašas = new ArrayList<>();
// Pridedame elementus, kai dydis pasiekia 10, talpa maždaug padidės iki 15
for (int i = 0; i < 20; i++) {
    sąrašas.add(i);
}