Začetno velikost seznama ArrayList lahko nastavite tako, da
ArrayList<Integer> arr=new ArrayList<Integer>(10);
Vendar pa ne morete narediti
arr.add(5, 10);
ker to povzroči izjemo zunaj meja.
Kakšen smisel ima določanje začetne velikosti, če ne morete dostopati do prostora, ki ste ga dodelili?
Funkcija dodaj je definirana kot Dodaj(int index, Object element)
, zato ne dodajam na indeks 10.
Zamenjujete velikost seznama polj z njegovo zmogljivostjo:
Ko kličete new ArrayList<Integer>(10)
, nastavljate začetno kapaciteto seznama in ne njegove velikosti. Z drugimi besedami, če je seznam zgrajen na ta način, se njegovo življenje začne prazno.
Eden od načinov za dodajanje desetih elementov na seznam polj je uporaba zanke:
for (int i = 0; i < 10; i++) {
arr.add(0);
}
Po tem lahko spreminjate elemente na indeksih 0..9.
10 je začetna zmogljivost AL in ne velikost (ki je 0). Če boste imeli veliko elementov, morate začetno zmogljivost navesti na neko visoko vrednost, saj se s tem izognete stroškom povečevanja zmogljivosti, ko dodajate elemente.
Trenutno na seznamu ni elementov, zato ne morete dodati indeksa 5 na seznamu, če ta ne obstaja. Zamenjujete zmogljivost seznama z njegovo trenutno velikostjo.
Pokličite:
arr.add(10)
za dodajanje celega števila na svoj ArrayList