„ArrayList“ programoje „Java“ yra a keičiamo dydžio (arba dinaminis) masyvas iš java.util paketą kurie gali augti arba mažėti automatiškai, kai elementai pridedami arba pašalinami, skirtingai nei įprasti fiksuoto dydžio masyvai.
- Indeksuota prieiga: Elementus galima pasiekti naudojant jų indeksą, kaip ir masyvus.
- Leidžia dublikatus: Leidžiami pasikartojantys elementai.
- Išlaikoma įterpimo tvarka: Elementai saugomi tokia tvarka, kokia jie yra įterpti.
- Nesinchronizuotas: Pagal numatytuosius nustatymus „ArrayList“ nėra saugus nuo gijų (vienatinei prieigai reikalingas rankinis sinchronizavimas).
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); } }
Išvestis
[1 2 3]
ArrayList hierarchija
Tai įgyvendina Sąrašo sąsaja kuri yra antrinė sąsaja Kolekcijos sąsaja .
„ArrayList“ konstruktoriai „Java“.
„Java“ suteikia kelis konstruktorius, kad sukurtų „ArrayList“ pagal skirtingus reikalavimus:
1. ArrayList()
Sukuria tuščią ArrayList su numatytuoju pradiniu pajėgumu.
ArrayList
arr = naujas ArrayList<>();
2. ArrayList arr = naujas ArrayList<>()
Sukuria ArrayList, inicijuotą naudojant elementus iš nurodytos kolekcijos.
pirminis skaičius java
ArrayList
arr = naujas ArrayList<>(kolekcija);
3. ArrayList (int pradinė talpa)
Šis konstruktorius naudojamas masyvo sąrašui sudaryti su nurodyta pradine talpa.
ArrayList
arr = naujas ArrayList<>(20);
„ArrayList“ operacijos
Dabar, naudodamiesi konstruktoriais, turime ArrayList tolimesnėms operacijoms, tokioms kaip InsertionDeletion ir ArrayList elementų atnaujinimas.
Javaimport 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); } }
Išvestis
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]
Java ArrayList sudėtingumas
Operacija | Laiko sudėtingumas java tipo kintamasis | Erdvės sudėtingumas |
|---|---|---|
Elemento įterpimas į ArrayList | O(1) | O(N) |
Elemento pašalinimas iš ArrayList | O(N) | O(1) |
Elementų perkėlimas „ArrayList“. | O(N) dvejetainis medis | O(N) |
Elementų pakeitimas „ArrayList“. | O(1) | O(1) |
Java ArrayList metodai
| Metodas | Aprašymas |
|---|---|
| add(int index Objekto elementas) | Šis metodas naudojamas įterpti konkretų elementą tam tikroje sąrašo pozicijos indekse. |
| pridėti (O objektas) | Šis metodas naudojamas konkrečiam elementui pridėti prie sąrašo pabaigos. |
| pridėti viską (C rinkinys) | Šis metodas naudojamas visiems elementams iš konkrečios kolekcijos pridėti prie minėto sąrašo pabaigos tokia tvarka, kad reikšmes grąžintų nurodytos kolekcijos iteratorius. |
| addAll(int indekso rinkinys C) | Naudojamas įterpti visus elementus, prasidedančius nuo nurodytos pozicijos, iš konkrečios kolekcijos į minėtą sąrašą. |
| aišku () | Šis metodas naudojamas pašalinti visus elementus iš bet kurio sąrašo. |
| klonas () | Šis metodas naudojamas norint grąžinti negilią „ArrayList“ kopiją „Java“. |
| yra (O objektas) | Grąžina true, jei šiame sąraše yra nurodytas elementas. |
| užtikrintiCapacity (int minCapacity) | Jei reikia, padidina šio „ArrayList“ egzemplioriaus talpą, kad užtikrintų, jog jame gali būti bent tiek elementų, kiek nurodyta minimalaus pajėgumo argumentu. |
| kiekvienam (vartotojui super E>veiksmas) | Atlieka nurodytą veiksmą kiekvienam Iterable elementui, kol visi elementai bus apdoroti arba veiksmas padarys išimtį. |
| gauti (int index) | Grąžina elementą nurodytoje šio sąrašo vietoje. |
| indexOf (O objektas) | Rodyklė, pirmą kartą pasirodžiusi tam tikram elementui, grąžinama arba -1, jei elemento sąraše nėra. |
| yra tuščias () | Grąžina tiesa, jei šiame sąraše nėra elementų. |
| paskutinis indeksas (O objektas) | Pateikiamas paskutinio konkretaus elemento pasireiškimo indeksas arba -1, jei elemento sąraše nėra. |
| listIterator() | Pateikia sąrašo iteratorių virš šio sąrašo elementų (tinkama seka). |
| listIterator(int index) | Pateikia sąrašo iteratorių virš šio sąrašo elementų (tinkama seka), pradedant nuo nurodytos sąrašo vietos. |
| pašalinti (int index) | Pašalina elementą nurodytoje šio sąrašo vietoje. |
| pašalinti (O objektas) | Pašalina pirmąjį nurodyto elemento pasireiškimą iš šio sąrašo, jei jis yra. |
| pašalinti viską (rinkinys c) | Iš šio sąrašo pašalinami visi jo elementai, esantys nurodytoje kolekcijoje. |
| pašalinti, jei (predikacinis filtras) | Pašalina visus šio rinkinio elementus, kurie atitinka nurodytą predikatą. |
| pašalinti diapazoną (int fromIndex int toIndex) | Iš šio sąrašo pašalinami visi elementai, kurių indeksas yra nuo indekso imtinai iki iki be indekso. |
| išlaikyti viską (kolekcija>c) | Išsaugo tik šio sąrašo elementus, kurie yra nurodytoje kolekcijoje. |
| rinkinys (index E elementas) | Pakeičia elementą nurodytoje pozicijoje šiame sąraše nurodytu elementu. |
| dydis () | Grąžina šio sąrašo elementų skaičių. |
| skirstytuvas () | Sukuria vėlai įrišamą ir greitą skirstytuvą per šio sąrašo elementus. |
| posąrašas (int fromIndex int toIndex) | Grąžina šio sąrašo dalies tarp nurodyto fromIndex imtinai ir toIndex išskirtinumo rodinį. |
| toArray () | Šis metodas naudojamas norint grąžinti masyvą, kuriame yra visi sąrašo elementai teisinga tvarka. |
| toArray (Object[] O) | Jis taip pat naudojamas grąžinti masyvą, kuriame yra visi šio sąrašo elementai teisinga tvarka, kaip ir ankstesnis metodas. |
| apkarpyti dydį() | Šis metodas naudojamas norint sumažinti ArrayList egzemplioriaus talpą iki dabartinio sąrašo dydžio. |