Kako koristiti Java ArrayList

Kako koristiti Java ArrayList

Na Javu ArrayList je niz opće namjene s promjenjivom veličinom. Pruža većinu objekata koji se općenito očekuju od nizova na drugim jezicima. To uključuje: pristup elementima pomoću indeksa, dodavanje, uklanjanje i ažuriranje elemenata, dinamičko mijenjanje veličine, ponavljanje po elementima itd. Većina ovih operacija posebno je prilagođena za opću upotrebu.





kako obrubiti tekst u Photoshopu

Postoji još nekoliko vrsta 'niza' (klase koje implementiraju Popis sučelje, biti tehničko) koji su namijenjeni za posebne namjene. To uključuje:





  • LinkedList podržava brzo umetanje i uklanjanje na srednjim indeksima.
  • Vektor sličan je an ArrayList ali je sinkroniziran i prikladan je umjesto ArrayList za aplikacije s više niti.
  • Stog podržava operacije za oponašanje popisa posljednjih u prvom izlazu. Proširuje Vektor i stoga je sinkroniziran.

Ove posebne klase nisu obuhvaćene ovim člankom. Međutim, naučit ćete kako postaviti i koristiti Java ArrayList opće namjene.





Stvaranje ArrayLista

Stvaranje ArrayList je jednostavno. Prazan ArrayList može se stvoriti pomoću konstruktora bez argumenata. Ovdje stvaramo prazan arraylist za držanje nizova.

ArrayList alist = new ArrayList();

Ako znate koliko će stavki vaš popis polja sadržavati, možete odrediti početni kapacitet. Ovaj početni kapacitet samo je nagovještaj za dodjelu memorije - arilist nije ograničen na držanje navedenog broja stavki. Ako znate i odredite početni kapacitet, vi moć doći do blagog poboljšanja performansi.



ArrayList alist = new ArrayList(20);

Popunjavanje popisa array

Dodavanje stavki na kraju

Popunjavanje aranzistera je prilično jednostavno. Samo upotrijebite dodati() metoda za dodavanje jedne stavke na kraj niza popisa. Evo primjera:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

Upotrijebite metodu da biste saznali koliko stavki postoji u nizu arilista veličina() .





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

Dodavanje stavki prema određenom indeksu

Želite li dodati stavku s proizvoljnim indeksom? Navedite indeks kao prvi argument i stavka se dodaje tom indeksu:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

Dodavanje hrpe stavki

Stavke iz bilo koje zbirke možete dodati i u hijerarhiju zbirki Java. An ArrayList je specifična vrsta tzv Popis . Evo načina za konstruiranje a Popis iz hrpe predmeta (pomoću Arrays.asList () ) i dodajte ga u ArrayList .





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

Naravno, ovdje možete navesti indeks kao prvi argument za dodavanje stavki koje počinju od tog indeksa.

Pristup stavkama

Nakon što su stavke dodane na popis za slanje, kako im opet pristupiti?

Pristup s indeksom

Ako znate indeks stavke, možete koristiti dobiti() metoda za dohvaćanje elementa na tom indeksu.

kako pratiti nekoga na google maps?
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Pronalaziti stvari

Što ako ne znate indeks stavke? Možeš koristiti indexOf () provjeriti je li stavka prisutna u nizu i dohvatiti stavku pomoću vraćenog indeksa.

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

Što ako stavka nije prisutna u nizu arilista? The indexOf () metoda vraća -1 kada stavka nije pronađena.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

Iteracija preko popisa array

Naravno, najčešća upotreba an ArrayList ponavlja se po elementima. To se može postići na više načina. Ovdje prikazujemo nekoliko jednostavnih.

Ovdje je najjednostavniji način ponavljanja po nizu arilista i izdvajanja stavki za neku vrstu obrade.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

Ovaj kôd koristi Java Enhanced For-Loop koji je predstavljen u Javi 1.5. Prije toga možete ponavljati stavke pomoću iteratora. Iterator se također koristi kad je potrebno ukloniti elemenata tijekom procesa ponavljanja, kao što prikazuje donji primjer. (Imajte na umu da izrađujemo kopiju ariliste i radimo na kopiji.)

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

Zamjena stavki

Nakon dodavanja stavki potreban nam je način zamjene neželjenih stavki. To se može učiniti korištenjem set () metoda s indeksom.

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

Uklanjanje stavki

Pogledajmo sada kako možemo ukloniti stavke s arilista. Ako znate indeks stavke (možda ste je koristili indexOf () gore opisano), možete koristiti ukloniti() metoda s indeksom. Vraća uklonjeni element.

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

Također možete navesti element za uklanjanje prvi pojavljivanje elementa na popisu. Metoda se vraća pravi ako je element pronađen i uklonjen.

kako se mogu pojaviti offline na facebooku
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Kako koristite ArrayList u svojim projektima i s kojim ste se posebnim problemima suočili? Molimo vas da nas obavijestite u komentarima ispod.

Udio Udio Cvrkut E -pošta Kako pristupiti Googleovoj ugrađenoj razini mjehurića na Androidu

Ako ste ikada trebali biti sigurni da je nešto na razini, sada možete dobiti razinu mjehurića na telefonu u nekoliko sekundi.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Java
O autoru Jay Sridhar(17 objavljenih članaka) Više od Jaya Sridhara

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu