java arraylist how declare
Ta vadnica pojasnjuje, kako prijaviti, inicializirati in natisniti Java ArrayList s primeri kode. Spoznali boste tudi 2D Arraylist in implementacijo ArrayList v Javi:
Okvir Java Collections in vmesnik List so bili podrobno razloženi v naših prejšnjih vadnicah. ArrayList je podatkovna struktura, ki je del okvira zbirk in si jo lahko ogledujemo kot podobno kot nizi in vektorji.
ArrayList lahko zaznamo kot dinamično matriko, ki vam omogoča, da kadar koli dodate ali odstranite elemente iz nje ali preprosto, dinamično.
=> Tukaj si oglejte Vodnik za začetnike Java.
Z drugimi besedami, njegova velikost se lahko dinamično poveča ali zmanjša, za razliko od nizov, katerih velikost ostane statična, ko je deklarirana.
Kaj se boste naučili:
- Razred ArrayList v Javi
- Zaključek
Razred ArrayList v Javi
Podatkovno strukturo ArrayList v Javi predstavlja razred ArrayList, ki je del “ java.util ”Paket.
Hierarhija za razred ArrayList je prikazana spodaj.
Kot lahko vidite, razred ArrayList izvaja vmesnik List, ki pa se razteza od vmesnika Collection.
Splošna opredelitev razreda ArrayList je podana spodaj:
public class ArrayList extends AbstractList implements List,RandomAccess, Cloneable, Serializable
Tu je nekaj značilnosti ArrayList:
- Razred ArrayList Java shranjuje elemente z vzdrževanjem vrstnega reda vstavljanja.
- ArrayList omogoča podvojene elemente, shranjene v njem.
- ArrayList ni sinhroniziran, glavna točka, ki razlikuje ArrayList od razreda Vector v Javi.
- ArrayList v Javi je bolj enak Vectors v C ++.
- ArrayList v Javi uporablja tudi indekse, kot so nizi, in podpira naključni dostop.
- Operacije, ki manipulirajo z elementi v seznamu ArrayList, so počasne, saj je treba storiti veliko premikov elementov, če želimo odstraniti kateri koli element iz seznama ArrayList.
- Razred ArrayList ne more vsebovati primitivnih tipov, temveč samo predmete. V tem primeru ga običajno imenujemo 'ArrayList of objects'. Torej, če želite shraniti celoštevilske elemente, potem morate uporabiti objekt Integer razreda ovojnice in ne primitivni tip int.
Ustvari in prijavi ArrayList
Če želite v svojem programu uporabiti razred ArrayList, ga morate najprej vključiti v svoj program z uporabo direktive ‘import’, kot je prikazano spodaj:
import java.util.ArrayList;
ALI
import java.util.*; //this will include all classes from java.util package
Ko v svoj program uvozite razred ArrayList, lahko ustvarite objekt ArrayList.
Splošna sintaksa ustvarjanja ArrayList je:
ArrayList arrayList = new ArrayList ();
Razen zgornje izjave, ki uporablja privzeti konstruktor, razred ArrayList ponuja tudi druge preobremenjene konstruktorje, ki jih lahko uporabite za ustvarjanje ArrayList.
Konstruktorske metode
Razred ArrayList v Javi nudi naslednje konstruktorske metode za ustvarjanje ArrayList.
1. metoda: ArrayList ()
Ta metoda uporablja privzeti konstruktor razreda ArrayList in se uporablja za ustvarjanje praznega seznama ArrayList.
Splošna sintaksa te metode je:
ArrayList list_name = new ArrayList();
Na primer, lahko ustvarite generični ArrayList tipa String z naslednjo izjavo.
ArrayList arraylist = new ArrayList();
To bo ustvarilo prazen ArrayList z imenom 'arraylist' tipa String.
2. metoda: ArrayList (int zmogljivost)
Ta preobremenjeni konstruktor lahko uporabite za ustvarjanje seznama ArrayList z določeno velikostjo ali zmogljivostjo, ki je na voljo kot argument konstruktorju.
Splošna sintaksa te metode je:
ArrayList list_name = new ArrayList(int capacity);
Primer:
ArrayList arraylist = new ArrayList(10);
Zgornji stavek ustvari prazen ArrayList z imenom 'arraylist' tipa Integer z zmogljivostjo 10.
3. metoda: ArrayList (zbirka c)
Tretji preobremenjeni konstruktor za razred ArrayList kot argument vzame že obstoječo zbirko in ustvari ArrayList z elementi iz podane zbirke c kot začetnimi elementi.
Splošna sintaksa za inicializacijo ArrayList s tem konstruktorjem je:
ArrayList list_name = new ArrayList (Collection c)
Na primer, če je intList obstoječa zbirka z elementi {10,20,30,40,50}, bo naslednji stavek ustvaril seznam 'arraylist' z vsebino intList kot začetnimi elementi.
ArrayList ArrayList = new ArrayList(intList);
Razred ArrayList podpira tudi različne metode, s katerimi je mogoče manipulirati z vsebino seznama. O teh metodah bomo podrobno razpravljali v naši prihajajoči vadnici 'Metode ArrayList v Javi'.
Inicializirajte ArrayList v Javi
Ko je ArrayList ustvarjen, obstaja več načinov za inicializacijo ArrayList z vrednostmi. V tem poglavju bomo razpravljali o teh načinih.
# 1) Uporaba Arrays.asList
Tu lahko posredujete Array, pretvorjeno v List, z uporabo metode asList razreda Arrays, da inicializirate ArrayList.
Splošna sintaksa:
ArrayList arrayListName = new ArrayList( Arrays.asList (Object o1, Object o2, …, Object on));
Primer:
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); } }
Izhod:
# 2) Uporaba anonimne metode notranjega razreda
Tu uporabljamo anonimni notranji razred za inicializacijo ArrayList na vrednosti.
Splošna sintaksa za uporabo anonimnega notranjega razreda za inicializacijo ArrayList je naslednja:
ArrayListarraylistName = new ArrayList(){{ add(Object o1); add (Object o2);… add (Object on);}};
Primer:
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); } }
Izhod:
# 3) Uporaba metode dodajanja
To je običajna metoda za dodajanje elementov v katero koli zbirko.
Splošna sintaksa za uporabo metode add za dodajanje elementov v ArrayList je:
ArrayListArraylistName = new ArrayList(); ArraylistName.add(value1); ArraylistName.add(value2); ArraylistName.add(value3);
Primer 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); }
Izhod:
# 4) Uporaba metode Collection.nCopies
Ta metoda se uporablja za inicializacijo seznama ArrayList z enakimi vrednostmi. Metodi zagotovimo število elementov, ki jih je treba inicializirati, in začetno vrednost metode.
Splošna sintaksa inicializacije je:
ArrayList arrayListName = new ArrayList(Collections.nCopies(count, element));
Spodnji primer prikazuje inicializacijo niza z uporabo metode 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); } }
Izhod:
Ponavljanje skozi ArrayList
Za prehod skozi ArrayList ali zanko imamo naslednje načine:
- Uporaba for zanke
- Z za vsako zanko (izboljšana zanka).
- Uporaba vmesnika Iterator.
- Z vmesnikom ListIterator.
- Z metodo forEachRemaining ().
Dejansko se te metode uporabljajo za iteracijo po zbirkah na splošno. V tej vadnici bomo videli primere vsake metode v zvezi z ArrayList.
# 1) Uporaba for zanke
Za indeksno zanko for lahko uporabite ArrayList in natisnete njegove elemente.
Sledi primer prečkanja in tiskanja seznama ArrayList z uporabo zanke for.
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 Izhod:

To je najpreprostejši in najlažji način za prehod in tiskanje elementov ArrayList, enako pa deluje tudi v drugih zbirkah.
# 2) Z za vsako zanko (izboljšano za zanko)
ArrayList lahko prečkate tudi z zanko za vsako ali izboljšano zanko. Pred Java 8 ni vključeval lambda izrazov. Toda od Jave 8 naprej lahko v zanko za vsako vključite tudi izraze Lambda.
Spodnji program prikazuje prehod in tiskanje ArrayList z uporabo za vsako zanko in lambda izraz.
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 + ' '); }); } }
Izhod:

# 3) Uporaba vmesnika Iterator
Vmesnik Iterator smo podrobno videli v prejšnjih temah. Vmesnik iteratorja lahko uporabite za iteracijo skozi ArrayList in tiskanje njegovih vrednosti.
Naslednji program to pokaže.
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() + ' '); } } }
Izhod:

# 4) Z vmesnikom ListIterator
ArrayList lahko prečkate tudi s pomočjo ListIterator. ListIterator se lahko uporablja za premikanje seznama ArrayList v smeri naprej in nazaj.
Izvedimo program Java, ki prikazuje primer uporabe 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 + ' '); } } }
Izhod:

Kot lahko vidite iz izhoda, se v zgornjem programu ArrayList preusmeri v smeri nazaj s pomočjo hasPrevious () in previous () metod ListIterator.
# 5) Z metodo forEachRemaining ()
To je ena od metod za prehod po seznamu ArrayList in je na voljo od Jave 8.
Naslednji program prikazuje metodo forEachRemaining () za prehod 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 + ' '); }); } }
Izhod:

najboljša aplikacija za vohunjenje na drugem telefonu
Uporabljamo metodo forEachRemaining () skupaj z Iteratorjem. Podoben je vsakemu in v tej metodi uporabljamo lambda izraz.
Primer Java ArrayList Java
V tem razdelku bomo videli izvajanje ArrayList v Javi. Kot primer bomo izvedli celoten primer ustvarjanja, inicializacije in uporabe Java ArrayList za izvajanje različnih manipulacij.
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); } }
Izhod:

Dvodimenzionalni ArrayList v Javi
Vemo, da ArrayList nima dimenzij kot Arrays. Lahko pa imamo ugnezdene ArrayLists, ki se imenujejo tudi '2D ArrayLists' ali 'ArrayList of ArrayLists'.
Preprosta ideja teh ugnezdenih ArrayLists je ta, da je glede na ArrayList vsak element tega ArrayList drug ArrayList.
Razumimo to s pomočjo naslednjega 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 Izhod:

Zgornji program prikazuje 2D ArrayList. Tu najprej razglasimo ArrayList ArrayLists. Nato določimo posamezne sezname ArrayLists, ki bodo služili kot posamezni elementi ugnezdenega ArrayList, ko vsakega od teh ArrayLists dodamo v ugnezdeni ArrayList.
Za dostop do vsakega elementa seznama ArrayList moramo dvakrat poklicati metodo get. Najprej za dostop do vrstice ugnezdenega seznama matrik in nato za dostop do posameznega presečišča vrstice in stolpca.
Upoštevajte, da lahko ugnezdene ravni ArrayList povečate, da določite večdimenzionalne ArrayLists. Na primer, 3D ArrayList bo imel kot elemente 2D ArrayLists itd.
Pogosto zastavljena vprašanja
V # 1) Kaj je ArrayList v Javi?
Odgovor: ArrayList v Javi je dinamično polje. V naravi je spremenljiv, to pomeni, da se poveča, ko se dodajo novi elementi, in zmanjša, ko se elementi izbrišejo.
V # 2) Kakšna je razlika med Array in ArrayList?
Odgovor: Polje je v statični strukturi in ga po deklaraciji ni mogoče spremeniti. ArrayList je dinamično polje in spremeni svojo velikost, ko se elementi dodajo ali odstranijo.
Matrika je osnovna struktura v Javi, medtem ko je ArrayList del zbirke Framework v Javi. Druga razlika je v tem, da medtem ko Array za dostop do elementov uporablja podpis (()), ArrayList uporablja metode za dostop do svojih elementov.
V # 3) Ali je ArrayList seznam?
Odgovor: ArrayList je podvrsta seznama. ArrayList je razred, medtem ko je List vmesnik.
V # 4) Ali je ArrayList zbirka?
Odgovor: Ne. ArrayList je izvedba zbirke, ki je vmesnik.
V # 5) Kako ArrayList poveča svojo velikost?
Odgovor: Interno je ArrayList izveden kot Array. ArrayList ima parameter velikosti. Ko so elementi dodani v ArrayList in je dosežena vrednost velikosti, ArrayList interno doda drugo matriko za namestitev novih elementov.
Zaključek
To je bila vadnica o osnovah razreda ArrayList v Javi. Videli smo ustvarjanje in inicializacijo razreda ArrayList skupaj s podrobno programsko izvedbo ArrayList.
Razpravljali smo tudi o 2D in večdimenzionalnih ArrayLists. Razred ArrayList podpira različne metode, s katerimi lahko manipuliramo z elementi. V naslednjih vajah bomo uporabili te metode.
=> Preberite serijo Easy Java Training Series.
Priporočeno branje
- Java Array - prijavite, ustvarite in inicializirajte polje v Javi
- Java Array - Kako natisniti elemente polja v Javi?
- Uvajanje Java: Ustvarjanje in izvajanje datoteke Java JAR
- Seznam Java - Kako ustvariti, inicializirati in uporabiti seznam v Javi
- Navidezni stroj Java: kako JVM pomaga pri zagonu aplikacije Java
- Niz predmetov v Javi: Kako ustvariti, inicializirati in uporabiti
- Dostopni modifikatorji v Javi - Vadnica s primeri
- Vadnica za odsev Java s primeri