ArrayList v jazyku Java
ArrayList v jazyku Java je a meniť veľkosť (alebo dynamické) pole z balík java.util ktoré sa môžu automaticky zväčšovať alebo zmenšovať pri pridávaní alebo odstraňovaní prvkov na rozdiel od bežných polí s pevnou veľkosťou.
- Indexovaný prístup: K prvkom je možné pristupovať pomocou ich indexu rovnako ako k poliam.
- Umožňuje duplikáty: Duplicitné prvky sú povolené.
- Udržuje objednávku vloženia: Prvky sa ukladajú v poradí, v akom sú vložené.
- Nesynchronizované: V predvolenom nastavení nie je ArrayList bezpečný pre vlákna (pre súbežný prístup je potrebná manuálna synchronizácia).
import java.util.ArrayList ; class Main { public static void main ( String [] args ) { // Creating an ArrayList ArrayList < Integer > a = new ArrayList < Integer > (); // Adding Element in ArrayList a . add ( 1 ); a . add ( 2 ); a . add ( 3 ); // Printing ArrayList System . out . println ( a ); } }
Výstup
[1 2 3]
Hierarchia ArrayList
Realizuje Rozhranie zoznamu ktorý je podrozhraním Rozhranie kolekcie .
Konštruktory ArrayList v jazyku Java
Java poskytuje viacero konštruktorov na vytvorenie ArrayList na základe rôznych požiadaviek:
1. ArrayList()
Vytvorí prázdny ArrayList s predvolenou počiatočnou kapacitou.
ArrayList
arr = nový ArrayList <>();
2. ArrayList arr = nový ArrayList <>()
Vytvorí ArrayList inicializovaný prvkami zo zadanej kolekcie.
ArrayList
arr = nový ArrayList <>(zbierka);
3. ArrayList (int initialCapacity)
Tento konštruktor sa používa na zostavenie zoznamu polí so špecifikovanou počiatočnou kapacitou.
ArrayList
arr = nový ArrayList <>(20);
Operácie ArrayList
Teraz pomocou konštruktorov máme ArrayList pre ďalšie operácie, ako je InsertionDeletion a Aktualizácia prvkov v ArrayList.
Java import java.util.* ; class GFG { public static void main ( String args [] ){ // Creating an Array of string type ArrayList < String > al = new ArrayList <> (); // 1. Adding elements to ArrayList at the end al . add ( 'Geeks' ); al . add ( 'Geeks' ); System . out . println ( 'Original List : ' + al ); // Adding Elements at the specific index al . add ( 1 'For' ); System . out . println ( 'After Adding element at index 1 : ' + al ); // 2. Removing Element using index al . remove ( 0 ); System . out . println ( 'Element removed from index 0 : ' + al ); // Removing Element using the value al . remove ( 'Geeks' ); System . out . println ( 'Element Geeks removed : ' + al ); // 3. Updating value at index 0 al . set ( 0 'GFG' ); System . out . println ( 'List after updation of value : ' + al ); } }
Výstup
Original List : [Geeks Geeks] After Adding element at index 1 : [Geeks For Geeks] Element removed from index 0 : [For Geeks] Element Geeks removed : [For] List after updation of value : [GFG]
Zložitosť Java ArrayList
| Prevádzka | Časová zložitosť | Vesmírna zložitosť |
|---|---|---|
| Vloženie prvku do ArrayList | O(1) | O(N) |
| Odstránenie prvku z ArrayList | O(N) | O(1) |
| Prechádzanie prvkami v ArrayList | O(N) | O(N) |
| Nahradenie prvkov v ArrayList | O(1) | O(1) |
Metódy Java ArrayList
| Metóda | Popis |
|---|---|
| add(int index Object element) | Táto metóda sa používa na vloženie špecifického prvku na konkrétnu pozíciu indexu v zozname. |
| pridať (objekt o) | Táto metóda sa používa na pripojenie konkrétneho prvku na koniec zoznamu. |
| addAll(Kolekcia C) | Táto metóda sa používa na pripojenie všetkých prvkov z konkrétnej kolekcie na koniec uvedeného zoznamu v takom poradí, aby hodnoty vrátil iterátor danej kolekcie. |
| addAll(int index Collection C) | Používa sa na vloženie všetkých prvkov začínajúcich na zadanej pozícii z konkrétnej kolekcie do uvedeného zoznamu. |
| jasné() | Táto metóda sa používa na odstránenie všetkých prvkov z ľubovoľného zoznamu. |
| klon() | Táto metóda sa používa na vrátenie plytkej kópie ArrayList v jazyku Java. |
| obsahuje (Objekt o) | Vráti hodnotu true, ak tento zoznam obsahuje zadaný prvok. |
| sureCapacity (int minCapacity) | Zvýši kapacitu tejto inštancie ArrayList, ak je to potrebné, aby sa zabezpečilo, že môže obsahovať aspoň počet prvkov špecifikovaných argumentom minimálnej kapacity. |
| pre každého (spotrebiteľa super E>akcia) | Vykoná danú akciu pre každý prvok Iterable, kým nie sú spracované všetky prvky alebo kým akcia nevyvolá výnimku. |
| získať (int index) | Vráti prvok na zadanej pozícii v tomto zozname. |
| indexOf(Objekt O) | Index prvého výskytu konkrétneho prvku je buď vrátený alebo -1 v prípade, že prvok nie je v zozname. |
| isEmpty() | Vráti hodnotu true, ak tento zoznam neobsahuje žiadne prvky. |
| lastIndexOf(Object O) | V prípade, že prvok nie je v zozname, vráti sa index posledného výskytu konkrétneho prvku alebo -1. |
| listIterator() | Vráti iterátor zoznamu nad prvkami v tomto zozname (v správnom poradí). |
| listIterator(int index) | Vráti iterátor zoznamu nad prvkami v tomto zozname (v správnom poradí) so začiatkom na zadanej pozícii v zozname. |
| odstrániť (int index) | Odstráni prvok na zadanej pozícii v tomto zozname. |
| odstrániť (Objekt o) | Odstráni prvý výskyt zadaného prvku z tohto zoznamu, ak je prítomný. |
| odstrániť všetko (kolekcia c) | Odstráni z tohto zoznamu všetky jeho prvky, ktoré sú obsiahnuté v zadanej kolekcii. |
| removeIf (Filter predikátov) | Odstráni všetky prvky tejto kolekcie, ktoré spĺňajú daný predikát. |
| removeRange(int fromIndex int toIndex) | Odstráni z tohto zoznamu všetky prvky, ktorých index je medzi indexom vrátane indexu a indexom bez indexu. |
| ponechať všetko(Kolekcia >c) | Zachová iba prvky v tomto zozname, ktoré sú obsiahnuté v zadanej kolekcii. |
| set(int index E prvok) | Nahradí prvok na zadanej pozícii v tomto zozname zadaným prvkom. |
| veľkosť () | Vráti počet prvkov v tomto zozname. |
| rozdeľovač() | Vytvorí rozdeľovač s oneskorenou väzbou a rýchlym zlyhaním nad prvkami v tomto zozname. |
| subList(int fromIndex int toIndex) | Vráti zobrazenie časti tohto zoznamu medzi zadaným fromIndex vrátane a toIndex exclusive. |
| toArray() | Táto metóda sa používa na vrátenie poľa obsahujúceho všetky prvky v zozname v správnom poradí. |
| toArray(Object[] O) | Používa sa tiež na vrátenie poľa obsahujúceho všetky prvky v tomto zozname v správnom poradí rovnako ako predchádzajúca metóda. |
| trimToSize() | Táto metóda sa používa na orezanie kapacity inštancie ArrayList na aktuálnu veľkosť zoznamu. |