ArrayList u Javi
ArrayList u Javi je a promjenjive veličine (ili dinamički) niz iz java.util paket koji se mogu automatski povećavati ili smanjivati kako se elementi dodaju ili uklanjaju za razliku od uobičajenih nizova s fiksnom veličinom.
- Indeksirani pristup: Elementima se može pristupiti pomoću njihovog indeksa baš kao i nizovima.
- Dopušta duplikate: Dopušteni su duplicirani elementi.
- Održava redoslijed umetanja: Elementi se pohranjuju redoslijedom kojim su umetnuti.
- Nije sinkronizirano: Prema zadanim postavkama ArrayList nije siguran za niti (potrebna je ručna sinkronizacija za istovremeni pristup).
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 ); } }
Izlaz
[1 2 3]
Hijerarhija ArrayList-a
Provodi Sučelje popisa koji je podsučelje od Sučelje zbirke .
ArrayList konstruktori u Javi
Java nudi višestruke konstruktore za stvaranje ArrayList-a na temelju različitih zahtjeva:
1. ArrayList()
Stvara prazan ArrayList sa zadanim početnim kapacitetom.
ArrayList
arr = novi ArrayList <>();
2. ArrayList arr = novi ArrayList <>()
Stvara ArrayList inicijaliziran elementima iz navedene zbirke.
ArrayList
arr = novi ArrayList <>(kolekcija);
3. ArrayList(int initialCapacity)
Ovaj se konstruktor koristi za izradu popisa polja s navedenim početnim kapacitetom.
ArrayList
arr = novi ArrayList <>(20);
Operacije ArrayList-a
Sada pomoću konstruktora imamo ArrayList za daljnje operacije poput InsertionDeletion i Updation elemenata u 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 ); } }
Izlaz
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]
Složenost Java ArrayList-a
| Operacija | Vremenska složenost | Složenost prostora |
|---|---|---|
| Umetanje elementa u ArrayList | O(1) | NA) |
| Uklanjanje elementa iz ArrayList | NA) | O(1) |
| Prelaženje elemenata u ArrayList | NA) | NA) |
| Zamjena elemenata u ArrayList | O(1) | O(1) |
Java ArrayList metode
| metoda | Opis |
|---|---|
| add(int index Element objekta) | Ova se metoda koristi za umetanje određenog elementa na određeno mjesto indeksa na popisu. |
| dodati (objekt o) | Ova se metoda koristi za dodavanje određenog elementa na kraj popisa. |
| dodaj sve (kolekcija C) | Ova se metoda koristi za dodavanje svih elemenata iz određene kolekcije na kraj spomenutog popisa takvim redoslijedom da vrijednosti vraća iterator navedene zbirke. |
| addAll(int index Collection C) | Koristi se za umetanje svih elemenata koji počinju na određenoj poziciji iz određene kolekcije u spomenuti popis. |
| jasan() | Ova se metoda koristi za uklanjanje svih elemenata s bilo koje liste. |
| klon() | Ova se metoda koristi za vraćanje plitke kopije ArrayList-a u Javi. |
| sadrži (objekt o) | Vraća true ako ovaj popis sadrži navedeni element. |
| osiguraj kapacitet(int minkapacitet) | Povećava kapacitet ove instance ArrayList ako je potrebno kako bi se osiguralo da može sadržavati barem broj elemenata navedenih argumentom minimalnog kapaciteta. |
| forEach(Potrošač super E>akcijski) | Izvodi zadanu radnju za svaki element Iterable dok se svi elementi ne obrade ili dok akcija ne izbaci iznimku. |
| dobiti (indeks) | Vraća element na navedenoj poziciji na ovom popisu. |
| indexOf(objekt O) | Indeks prvog pojavljivanja određenog elementa vraća se ili -1 u slučaju da element nije na popisu. |
| isEmpty() | Vraća true ako ovaj popis ne sadrži elemente. |
| lastIndexOf(objekt O) | Indeks posljednjeg pojavljivanja određenog elementa se ili vraća ili -1 u slučaju da element nije na popisu. |
| listIterator() | Vraća iterator popisa preko elemenata u ovom popisu (u ispravnom nizu). |
| listIterator(int indeks) | Vraća iterator popisa preko elemenata na ovom popisu (u pravilnom nizu) počevši od navedenog položaja na popisu. |
| ukloniti (indeks) | Uklanja element na navedenoj poziciji na ovom popisu. |
| ukloniti (objekt o) | Uklanja prvo pojavljivanje navedenog elementa s ovog popisa ako je prisutan. |
| ukloni sve (kolekcija c) | Uklanja s ovog popisa sve njegove elemente koji su sadržani u navedenoj zbirci. |
| removeIf (filter predikata) | Uklanja sve elemente ove zbirke koji zadovoljavaju zadani predikat. |
| removeRange(int fromIndex int toIndex) | Uklanja s ovog popisa sve elemente čiji je indeks između od Index inclusive do Index only. |
| retainAll(Zbirka >c) | Zadržava samo elemente na ovom popisu koji su sadržani u navedenoj zbirci. |
| skup (int indeks E element) | Zamjenjuje element na navedenoj poziciji na ovom popisu navedenim elementom. |
| veličina() | Vraća broj elemenata na ovom popisu. |
| razdjelnik() | Stvara kasno uvezujući i brzi Spliterator preko elemenata na ovom popisu. |
| podLista(int fromIndex int toIndex) | Vraća prikaz dijela ovog popisa između navedenog fromIndex inclusive i toIndex exclusive. |
| toArray() | Ova se metoda koristi za vraćanje niza koji sadrži sve elemente na popisu ispravnim redoslijedom. |
| toArray(Object[] O) | Također se koristi za vraćanje niza koji sadrži sve elemente na ovom popisu u ispravnom redoslijedu kao i prethodna metoda. |
| trimToSize() | Ova se metoda koristi za smanjenje kapaciteta instance ArrayList-a na trenutnu veličinu popisa. |