Ako používať Java ArrayList

Ako používať Java ArrayList

Do Javy ArrayList je pole s možnosťou zmeny veľkosti pre všeobecné účely. Poskytuje väčšinu zariadení, ktoré sa všeobecne očakávajú od polí v iných jazykoch. Patria sem: prístup k prvkom pomocou indexu, pridávanie, odstraňovanie a aktualizácia prvkov, dynamické zmeny veľkosti, opakovanie prvkov atď. Väčšina týchto operácií bola špeciálne upravená na všeobecné použitie.





odstrániť súbory aktualizácie systému Windows 8

Existuje niekoľko ďalších typov „polí“ (triedy, ktoré implementujú príponu Zoznam technické rozhranie), ktoré sú určené na špeciálne účely. Tie obsahujú:





  • LinkedList podporuje rýchle vkladanie a vyberanie v stredných indexoch.
  • Vektor je podobný ako ArrayList ale je synchronizovaný a je vhodný namiesto ArrayList pre viacvláknové aplikácie.
  • Stoh podporuje operácie na napodobnenie zoznamu „posledný v prvom“. Rozširuje to Vektor a preto je synchronizovaný.

Tieto špeciálne triedy nespadajú do rozsahu tohto článku. Naučíte sa však nastaviť a používať univerzálny Java ArrayList.





Vytvorenie zoznamu polí

Vytvorenie súboru ArrayList je jednoduchý. Prázdny ArrayList je možné vytvoriť pomocou konštruktora bez argumentov. Tu vytvoríme prázdny arraylist na držanie strún.

ArrayList alist = new ArrayList();

Ak náhodou viete, koľko položiek bude váš zoznam polí obsahovať, môžete zadať počiatočnú kapacitu. Táto počiatočná kapacita je len náznakom alokácie pamäte - arraylist nie je obmedzený na uchovávanie určeného počtu položiek. Ak poznáte a špecifikujete počiatočnú kapacitu, vy možno dosiahnuť mierne zlepšenie výkonu.



ArrayList alist = new ArrayList(20);

Vyplnenie zoznamu polí

Pridanie položiek na koniec

Vyplnenie zoznamu arraylistov je celkom jednoduché. Stačí použiť pridať () metóda na pridanie jednej položky na koniec zoznamu polí. Tu je príklad:

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]

Pomocou tejto metódy zistíte, koľko položiek je v zozname polí veľkosť () .





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

Pridávanie položiek do určeného indexu

Chcete pridať položku do ľubovoľného indexu? Zadajte index ako prvý argument a položka sa pridá do tohto indexu:

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

Pridanie skupiny položiek

Do hierarchie kolekcií Java môžete tiež pridať položky z akejkoľvek zbierky. An ArrayList je špecifický typ tzv Zoznam . Toto je spôsob, ako zostrojiť a Zoznam zo zväzku položiek (pomocou Arrays.asList () ) a pridajte ho do súboru ArrayList .





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

Samozrejme tu môžete zadať index ako prvý argument na pridanie položiek začínajúcich na tomto indexe.

Prístup k položkám

Keď sú položky pridané do zoznamu polí, ako k nim znova získame prístup?

Prístup pomocou indexu

Ak poznáte index položky, môžete použiť dostať () metóda na získanie prvku v tomto indexe.

ako skontrolovať napätie pomocou multimetra
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Hľadanie vecí

Čo keď nepoznáte index položky? Môžeš použiť indexOf () na kontrolu, či je položka v poli prítomná, a načítanie položky pomocou vráteného indexu.

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

Čo keď položka nie je v zozname polí? The indexOf () metóda vráti -1, keď sa položka nenájde.

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

Iterácia nad zoznamom polí

Najbežnejšie použitie súboru ArrayList iteruje nad prvkami. To sa dá dosiahnuť niekoľkými spôsobmi. Tu uvádzame niekoľko jednoduchých.

Toto je najjednoduchší spôsob iterácie nad arraylistom a extrahovania položiek pre nejaký druh spracovania.

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'

Tento kód používa Java Enhanced For-Loop, ktorá bola zavedená v jazyku Java 1.5. Predtým by ste mohli položky iterovať iterátorom. V prípade potreby sa používa aj iterátor odstrániť prvky počas procesu iterácie, ako ukazuje nasledujúci príklad. (Všimnite si, že urobíme kópiu zoznamu kandidátov a pracujeme na kópii.)

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'

Výmena položiek

Akonáhle sú položky pridané, potrebujeme spôsob, ako nahradiť nechcené položky. To sa dá dosiahnuť pomocou nastaviť () metóda s indexom.

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

Odstraňujú sa položky

Teraz sa pozrime, ako môžeme odstrániť položky z arraylistu. Ak poznáte index položky (možno ste použili indexOf () popísané vyššie), môžete použiť odstrániť () metóda s indexom. Vráti odstránený prvok.

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

Môžete tiež určiť prvok, ktorý chcete odstrániť najprv výskyt prvku v zozname. Metóda sa vráti pravda ak bol prvok nájdený a odstránený.

zábavné spôsoby posúvania v dms
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Ako používate ArrayList vo svojich projektoch a s akými špeciálnymi problémami ste sa stretli? Dajte nám prosím vedieť v nižšie uvedených komentároch.

zdieľam zdieľam Tweet E -mail Ako získať prístup k vstavanej úrovni bublín Google v systéme Android

Ak ste sa niekedy potrebovali uistiť, že je niečo v zlomku, teraz môžete do telefónu v priebehu niekoľkých sekúnd dostať úroveň bubliny.

Čítajte ďalej
Súvisiace témy
  • Programovanie
  • Java
O autorovi Jay Sridhar(17 článkov uverejnených) Viac od Jaya Sridhara

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber