Lesley Fowler
0
818
99
Java ArrayList je univerzální pole s možností změny velikosti. Poskytuje většinu zařízení obecně očekávaných od polí v jiných jazycích. Patří sem: přístup k prvkům pomocí indexu, přidávání, odebírání a aktualizace prvků, dynamická změna velikosti, opakování přes prvky atd. Většina těchto operací byla speciálně upravena pro všeobecné použití.
Existuje několik dalších typů “pole” (třídy, které implementují Seznam rozhraní, které je technické), které jsou určeny pro zvláštní účely. Tyto zahrnují:
- Spojový seznam podporuje rychlé vkládání a odstraňování v mezilehlých indexech.
- Vektor je podobný ArrayList ale je synchronizovaný a je vhodný místo ArrayList pro vícevláknové aplikace.
- Zásobník podporuje operace napodobování seznamu posledních v první řadě. Rozšiřuje Vektor a proto je synchronizován.
Tyto speciální třídy jsou mimo rozsah tohoto článku. Naučíte se však, jak nastavit a používat univerzální Java ArrayList.
Vytvoření seznamu polí
Vytvoření ArrayList je jednoduché. Prázdný ArrayList lze vytvořit pomocí konstruktoru bez argumentů. Zde vytvoříme prázdný arraylist pro držení řetězců.
ArrayList alist = new ArrayList ();
Pokud víte, kolik položek bude váš seznam polí obsahovat, můžete určit počáteční kapacitu. Tato počáteční kapacita je pouze vodítkem pro přidělení paměti - arraylist není omezen na držení zadaného počtu položek. Pokud znáte a určete počáteční kapacitu, vy mohl dosáhnout mírného zlepšení výkonu.
ArrayList alist = nový ArrayList (20);
Vyplnění seznamu polí
Přidávání položek na konci
Vyplnění arraylistu je docela snadné. Stačí použít přidat() metoda přidání jedné položky na konec arraylistu. Zde je příklad:
ArrayList alist = new ArrayList (); alist.add ("jablko"); alist.add ("banán"); alist.add ("cantaloupe"); alist.add ("oranžová"); System.out.println (alist); # tisky [jablko, banán, meloun, pomeranč]
Chcete-li zjistit, kolik položek je v arraylistu, použijte metodu velikost().
System.out.println ("Počet prvků v arraylistu:" + alist.size ()); # printts Počet prvků v arraylistu: 4
Přidávání položek do zadaného indexu
Chcete přidat položku do libovolného indexu? Jako první argument zadejte index a položka se přidá do tohoto indexu:
alist.add (3, "hrozny"); System.out.println (alist); # tisky [jablko, banán, meloun, hrozny, pomeranč]
Přidání svazku položek
Položky z libovolné kolekce můžete také přidat do hierarchie sbírek Java. An ArrayList je specifický typ nazvaný Seznam. Zde je způsob, jak postavit Seznam z hromady položek (pomocí Arrays.asList ()) a přidejte jej do ArrayList.
Položky seznamu = Arrays.asList ("pear", "cherry"); alist.addAll (položky); System.out.println (alist); # tisky [jablko, banán, meloun, hrozny, pomeranč, hruška, třešně]
Jako první argument zde můžete samozřejmě určit index, který přidá položky začínající tímto indexem.
Přístup k položkám
Jakmile jsou položky přidány do arraylistu, jak k nim přistupujeme znovu?
Přístup s indexem
Pokud znáte index položky, můžete použít dostat() metoda k načtení prvku v tomto indexu.
String item = alist.get (2); System.out.println ("Položka v indexu 2 je:" + položka); # printts Položka v indexu 2 je: cantaloupe
Hledání položek
Co když neznáte index položky? Můžeš použít indexOf () zkontrolovat, zda je položka v poli přítomna, a načíst ji pomocí vráceného indexu.
System.out.println (alist); int index = alist.indexOf ("orange"); if (index < 0 ) System.out.println("Item \"orange\"" not found"")