java arraylist how declare
Ovaj vodič objašnjava kako prijaviti, inicijalizirati i ispisati Java ArrayList s primjerima koda. Također ćete naučiti o 2D arraylistu i implementaciji ArrayList u Javi:
Okvir Java Collections i sučelje Popisa detaljno su objašnjeni u našim prethodnim vodičima. ArrayList je struktura podataka koja je dio Okvira zbirki i može se smatrati sličnom nizovima i vektorima.
ArrayList se može percipirati kao dinamički niz koji vam omogućuje dodavanje ili uklanjanje elemenata iz njega u bilo kojem trenutku ili jednostavno rečeno, dinamički.
=> Ovdje pogledajte Vodič za početnike za Java.
Drugim riječima, njegova veličina može se dinamički povećavati ili smanjivati za razliku od nizova čija veličina ostaje statična nakon što se deklarira.
Što ćete naučiti:
- Klasa ArrayList u Javi
- Zaključak
Klasa ArrayList u Javi
ArrayList strukturu podataka u Javi predstavlja klasa ArrayList koja je dio ' java.util ”Paket.
Hijerarhija za klasu ArrayList prikazana je u nastavku.
Kao što vidite, klasa ArrayList implementira sučelje List koje se pak proteže od sučelja Collection.
Općenita definicija klase ArrayList dana je u nastavku:
public class ArrayList extends AbstractList implements List,RandomAccess, Cloneable, Serializable
Evo nekoliko karakterističnih obilježja ArrayList:
- Klasa ArrayList Java pohranjuje elemente održavajući redoslijed umetanja.
- ArrayList omogućuje duplicirane elemente pohranjene u njemu.
- ArrayList nije sinkroniziran, glavna je točka koja razlikuje ArrayList od Vector klase u Javi.
- ArrayList u Javi identičniji je vektorima u C ++.
- ArrayList u Javi također koristi indekse poput nizova i podržava nasumični pristup.
- Operacije kojima se manipulira elementima u ArrayListu sporo su jer je potrebno izvršiti puno pomaka elemenata ako se bilo koji element želi ukloniti iz ArrayList-a.
- Klasa ArrayList ne može sadržavati primitivne tipove već samo objekte. U ovom ga slučaju obično nazivamo ‘ArrayList of objects’. Dakle, ako želite pohraniti cjelobrojne elemente, tada morate koristiti objekt Integer klase omota, a ne primitivni tip int.
Stvorite i prijavite ArrayList
Da biste u programu koristili klasu ArrayList, morate je prvo uključiti u svoj program pomoću direktive ‘import’ kako je prikazano dolje:
import java.util.ArrayList;
ILI
import java.util.*; //this will include all classes from java.util package
Jednom kada uvezete klasu ArrayList u svoj program, možete stvoriti objekt ArrayList.
Općenita sintaksa izrade ArrayList je:
ArrayList arrayList = new ArrayList ();
Osim gornje izjave koja koristi zadani konstruktor, klasa ArrayList također nudi i druge preopterećene konstruktore koje možete koristiti za stvaranje ArrayList.
Metode konstruktora
Klasa ArrayList u Javi pruža sljedeće metode konstruktora za stvaranje ArrayList.
Metoda # 1: ArrayList ()
Ova metoda koristi zadani konstruktor klase ArrayList i koristi se za stvaranje praznog ArrayList.
Opća sintaksa ove metode je:
ArrayList list_name = new ArrayList();
Na primjer, možete stvoriti generički ArrayList tipa String pomoću sljedeće izjave.
ArrayList arraylist = new ArrayList();
To će stvoriti prazan ArrayList pod nazivom 'arraylist' tipa String.
Metoda # 2: ArrayList (int kapacitet)
Ovaj preopterećeni konstruktor može se koristiti za stvaranje ArrayList s navedenom veličinom ili kapacitetom navedenim kao argument konstruktoru.
Općenita sintaksa ove metode je:
ArrayList list_name = new ArrayList(int capacity);
Primjer:
ArrayList arraylist = new ArrayList(10);
Gornja izjava stvara prazan ArrayList nazvan 'arraylist' tipa Integer kapaciteta 10.
Metoda # 3: ArrayList (Zbirka c)
Treći preopterećeni konstruktor za klasu ArrayList uzima kao argument već postojeću kolekciju i stvara ArrayList s elementima iz navedene zbirke c kao početnim elementima.
Opća sintaksa za inicijalizaciju ArrayList pomoću ovog konstruktora je:
ArrayList list_name = new ArrayList (Collection c)
Na primjer, ako je intList postojeća zbirka s elementima {10,20,30,40,50}, tada će sljedeća izjava stvoriti popis ‘arraylist’ sa sadržajem intList kao početnim elementima.
ArrayList ArrayList = new ArrayList(intList);
Klasa ArrayList također podržava razne metode kojima se može manipulirati sadržajem popisa. O tim ćemo metodama detaljno razgovarati u našem nadolazećem vodiču 'ArrayList metode u Javi'.
Inicijalizirajte ArrayList u Javi
Jednom kada se kreira ArrayList, postoji više načina za inicijalizaciju ArrayList s vrijednostima. U ovom ćemo odjeljku razgovarati o ovim načinima.
# 1) Korištenje Arrays.asList
Ovdje možete proslijediti niz pretvoren u List pomoću metode asList klase Arrays za inicijalizaciju ArrayList.
Opća sintaksa:
ArrayList arrayListName = new ArrayList( Arrays.asList (Object o1, Object o2, …, Object on));
Primjer:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList object myList with Arrays.asList method ArrayList myList = new ArrayList( Arrays.asList('One', 'Two', 'Three')); //print the ArrayList System.out.println('List contents:'+myList); } }
Izlaz:
# 2) Korištenje anonimne metode unutarnjeg razreda
Ovdje koristimo anonimnu unutarnju klasu za inicijalizaciju ArrayList u vrijednosti.
Opća sintaksa za upotrebu anonimne unutarnje klase za inicijalizaciju ArrayList je sljedeća:
ArrayListarraylistName = new ArrayList(){{ add(Object o1); add (Object o2);… add (Object on);}};
Primjer:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList with anonymous inner class calls ArrayList colors = new ArrayList(){{ add('Red'); add('Blue'); add('Purple'); }}; //print the ArrayList System.out.println('Content of ArrayList:'+colors); } }
Izlaz:
# 3) Korištenjem metode dodavanja
Ovo je uobičajena metoda za dodavanje elemenata u bilo koju zbirku.
Općenita sintaksa korištenja metode add za dodavanje elemenata u ArrayList je:
ArrayListArraylistName = new ArrayList(); ArraylistName.add(value1); ArraylistName.add(value2); ArraylistName.add(value3);
Primjer programiranja:
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList ArrayList colors = new ArrayList(); //add elements to the ArrayList using add method colors.add('Red'); colors.add('Green'); colors.add('Blue'); colors.add('Orange'); //print the ArrayList System.out.println('Content of ArrayList:'+colors); }
Izlaz:
# 4) Korištenje metode Collection.nCopies
Ovom se metodom inicijalizira ArrayList s istim vrijednostima. Pružamo broj elemenata koji se inicijaliziraju i početnu vrijednost metode.
Opća sintaksa inicijalizacije je:
ArrayList arrayListName = new ArrayList(Collections.nCopies(count, element));
Sljedeći primjer pokazuje inicijalizaciju niza metodom Collections.nCopies.
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList with 10 elements //initialized to value 10 using Collections.nCopies ArrayList intList = new ArrayList(Collections.nCopies(10,10)); //print the ArrayList System.out.println('Content of ArrayList:'+intList); } }
Izlaz:
Iteriranje kroz ArrayList
Imamo sljedeće načine za prolazak kroz ArrayList ili petlju kroz njega:
- Korištenje for petlje
- By za svaku petlju (poboljšana for-loop).
- Korištenje sučelja Iterator.
- Po sučelju ListIterator.
- Metodom forEachRemaining ().
Zapravo se ove metode koriste za iteraciju kroz zbirke općenito. U ovom uputstvu vidjet ćemo primjere svake od metoda s obzirom na ArrayList.
# 1) Korištenje for petlje
Petlja temeljena na indeksu može se koristiti za prelazak ArrayList-a i ispis njegovih elemenata.
Slijedi primjer za prelazak i ispis ArrayList-a pomoću for petlje.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-loop:'); //use for loop to traverse through its elements and print it for(int i=0;i Izlaz:

Ovo je najjednostavniji i najjednostavniji način za prelazak i ispis elemenata ArrayList-a, a funkcionira na isti način i u slučaju ostalih kolekcija.
# 2) By za svaku petlju (poboljšana za petlju)
Također možete preći ArrayList koristeći petlju za svaku ili poboljšanu petlju for. Prije Java 8, nije sadržavao lambda izraze. No, od Jave 8 nadalje, možete uključiti i Lambda izraze u petlju za svaku.
Program u nastavku prikazuje prelazak i ispis ArrayList-a pomoću svake petlje i lambda-izraza.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-each loop:'); //use for-each loop to traverse through its elements and print it intList.forEach(val ->{ System.out.print(val + ' '); }); } }
Izlaz:

# 3) Korištenje sučelja Iterator
Iterator sučelje smo detaljno vidjeli u našim prethodnim temama. Sučelje iteratora može se koristiti za itiranje kroz ArrayList i ispis njegovih vrijednosti.
Sljedeći program to pokazuje.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(5); intList.add(10); intList.add(15); intList.add(20); intList.add(25); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using Iterator interface:'); //Traverse through the ArrayList using iterator Iterator iter=arraylist.iterator(); while(iter.hasNext()){ System.out.print(iter.next() + ' '); } } }
Izlaz:

# 4) Po sučelju ListIterator
Također možete preći ArrayList koristeći ListIterator. ListIterator se može koristiti za prelazak ArrayList-a u smjeru naprijed, kao i natrag.
Primijenimo Java program koji pokazuje primjer korištenja ListIterator.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList();//Creating arraylist colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using ListIterator:'); //Traverse the list using ListIterator ListIterator color_iter=colors_list.listIterator(colors_list.size()); while(color_iter.hasPrevious()) { String str=color_iter.previous(); System.out.print(str + ' '); } } }
Izlaz:

Kao što možete vidjeti iz rezultata, u gore navedenom programu ArrayList se prevozi unatrag koristeći hasPrevious () i previous () metode ListIterator.
# 5) Metodom forEachRemaining ()
Ovo je jedan od načina prelaska ArrayList-a i dostupan je od Jave 8.
Sljedeći program prikazuje metodu forEachRemaining () za prelazak preko ArrayList.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using forEachRemaining() method:'); //Traverse the list using forEachRemaining () method Iterator itr=colors_list.iterator(); itr.forEachRemaining(val-> //lambda expression { System.out.print(val + ' '); }); } }
Izlaz:

tvrtke uključene u internet stvari
Koristimo metodu forEachRemaining () zajedno s Iteratorom. Sličan je svakom i unutar ove metode koristimo lambda izraz.
Primjer Java-a ArrayList
U ovom ćemo odjeljku vidjeti implementaciju ArrayList u Javi. Kao primjer, implementirat ćemo cjelovit primjer stvaranja, inicijalizacije i korištenja Java ArrayList za izvođenje različitih manipulacija.
import java.util.ArrayList; class Main { public static void main(String() args) { //Creating a generic ArrayList ArrayList newList = new ArrayList(); //Size of arrayList System.out.println('Original size of ArrayList at creation: ' + newList.size()); //add elements to it newList.add('IND'); newList.add('USA'); newList.add('AUS'); newList.add('UK'); //print the size after adding elements System.out.println('ArrayList size after adding elements: ' + newList.size()); //Print ArrayList contents System.out.println('Contents of the ArrayList: ' + newList); //Remove an element from the list newList.remove('USA'); System.out.println('ArrayList contents after removing element(USA): ' + newList); //Remove another element by index newList.remove(2); System.out.println('ArrayList contents after removing element at index 2: ' + newList); //print new size System.out.println('Size of arrayList: ' + newList.size()); //print list contents System.out.println('Final ArrayList Contents: ' + newList); } }
Izlaz:

Dvodimenzionalni ArrayList u Javi
Znamo da ArrayList nema dimenzije poput nizova. Ali možemo imati ugniježđene ArrayListeve koji se nazivaju i '2D ArrayLists' ili 'ArrayList of ArrayLists'.
Jednostavna ideja koja stoji iza ovih ugniježđenih ArrayLists je da je svaki ArrayList s obzirom na ArrayList svaki drugi ArrayList.
Razumijemo to pomoću sljedećeg programa.
import java.util.*; public class Main { public static void main(String() args) { int num = 3; // declare an arrayList of ArrayLists or 2D ArrayList ArrayList intList = new ArrayList (num); // Create individual elements or ArrayLists and add them to intList as elements ArrayList list_elem1 = new ArrayList(); list_elem1.add(10); intList.add(list_elem1); ArrayList list_elem2 = new ArrayList(); list_elem2.add(20); list_elem2.add(30); intList.add(list_elem2); ArrayList list_elem3 = new (); list_elem3.add(40); list_elem3.add(50); list_elem3.add(60); intList.add(list_elem3); System.out.println('Contents of 2D ArrayList(Nested ArrayList):'); //print the 2D ArrayList or nested ArrayList for (int i = 0; i Izlaz:

Gornji program prikazuje 2D ArrayList. Ovdje prvo deklariramo ArrayList ArrayLists. Zatim definiramo pojedinačne ArrayLists koji će služiti kao pojedinačni elementi ugniježđenih ArrayList kada dodamo svaki od tih ArrayLists u ugniježđeni ArrayList.
Da bismo pristupili svakom elementu ArrayList-a, moramo dva puta pozvati metodu get. Prvo za pristup retku ugniježđenog popisa matrica, a zatim za pristup pojedinačnom presjeku retka i stupca.
Imajte na umu da možete povećati ugniježđene razine ArrayList da biste definirali višedimenzionalne ArrayLists. Na primjer, 3D ArrayList će imati 2D ArrayLists kao svoje elemente i tako dalje.
Često postavljana pitanja
P # 1) Što je ArrayList u Javi?
Odgovor: ArrayList u Javi je dinamički niz. U prirodi je moguće promijeniti veličinu, tj. Povećava se kad se dodaju novi elementi, a smanjuje kada se elementi brišu.
P # 2) Koja je razlika između Array i ArrayList?
Odgovor: Niz je u statičkoj strukturi i njegova se veličina ne može mijenjati nakon što se deklarira. ArrayList je dinamički niz i mijenja njegovu veličinu kad se dodaju ili uklone elementi.
Niz je osnovna struktura u Javi, dok je ArrayList dio Okvira za prikupljanje u Javi. Druga je razlika u tome što dok Array koristi indeks (()) za pristup elementima, ArrayList koristi metode za pristup svojim elementima.
P # 3) Je li ArrayList popis?
Odgovor: ArrayList je podvrsta popisa. ArrayList je klasa, dok je List sučelje.
P # 4) Je li ArrayList kolekcija?
Odgovor: Ne. ArrayList je implementacija Collection koja je sučelje.
P # 5) Kako ArrayList povećava svoju veličinu?
Odgovor: Interno se ArrayList provodi kao niz. ArrayList ima parametar veličine. Kada se elementi dodaju u ArrayList i postigne vrijednost veličine, ArrayList interno dodaje još jedan niz za smještaj novih elemenata.
Zaključak
Ovo je bio tutorial o osnovama klase ArrayList u Javi. Vidjeli smo stvaranje i inicijalizaciju klase ArrayList zajedno s detaljnom implementacijom programa ArrayList.
Također smo razgovarali o 2D i višedimenzionalnim ArrayLists. Klasa ArrayList podržava razne metode kojima možemo manipulirati elementima. U našim predstojećim vodičima mi ćemo se pozabaviti tim metodama.
=> Pročitajte seriju Easy Java Training.
Preporučena literatura
- Java Array - Deklariranje, stvaranje i inicijalizacija niza u Javi
- Java niz - Kako ispisati elemente niza u Javi?
- Implementacija Jave: Izrada i izvršavanje Java JAR datoteke
- Popis Java - Kako stvoriti, inicijalizirati i koristiti popis na Javi
- Java virtualni stroj: kako JVM pomaže u pokretanju Java aplikacije
- Niz objekata u Javi: kako stvoriti, inicijalizirati i koristiti
- Pristupiti modifikatorima u Javi - Vodič s primjerima
- Java Vodič za refleksiju s primjerima