java list how create
Ovaj vodič za popis Java objašnjava kako stvoriti, inicijalizirati i ispisati popise u Javi. Vodič također objašnjava popis popisa s cjelovitim primjerom koda:
Ovaj će vas vodič upoznati s ‘popisom’ strukture podataka koja je jedna od osnovnih struktura u sučelju Java Collection.
Popis na Javi slijed je elemenata prema redoslijedu. Sučelje popisa java.util paketa je ono koje implementira ovaj slijed objekata poredanih na određeni način nazvan List.
=> Ovdje provjerite SVE Java tutorijale.
Baš poput nizova, elementima popisa također se može pristupiti pomoću indeksa s prvim indeksom koji počinje na 0. Indeks označava određeni element u indeksu 'i', tj. To je i elementi udaljeni od početka popisa.
Neke od karakteristika popisa na Javi uključuju:
- Popisi mogu imati dvostruke elemente.
- Popis također može imati ‘null’ elemente.
- Popisi podržavaju generičke, tj. Možete imati generičke popise.
- Na istom popisu možete imati i miješane objekte (objekte različitih klasa).
- Popisi uvijek čuvaju redoslijed umetanja i omogućuju pozicijski pristup.
Što ćete naučiti:
- Popis na Javi
- Zaključak
Popis na Javi
Sučelje popisa Java podvrsta je sučelja Java Collection. Ovo je standardno sučelje koje nasljeđuje kolekcijsko sučelje Java.
Dolje je dan dijagram klasa sučelja Java liste.

Kao što je prikazano na gornjem dijagramu klase, sučelje popisa Java proteže se od sučelja Collection paketa java.util, što se pak proteže od Iterable sučelja paketa java.util. Klasa AbstractList pruža skeletnu implementaciju sučelja List.
Klase LinkedList, Stack, Vector, ArrayList i CopyOnWriteArrayList sve su izvedbene klase sučelja Popisa koje programeri često koriste. Dakle, u Javi postoje četiri vrste popisa, tj. Stack, LinkedList, ArrayList i Vector.
Stoga, kada morate implementirati sučelje popisa, možete implementirati bilo koju od gornjih klasa vrsta popisa, ovisno o zahtjevima. Da biste u svoj program uključili funkcionalnost sučelja popisa, morat ćete uvezite paket java.util. * koji sadrži sučelje popisa i druge definicije klasa kako slijedi:
import java.util.*;
Stvori i objavi popis
Već smo naveli da je Lista sučelje i da ga provode klase poput ArrayList, Stack, Vector i LinkedList. Stoga možete deklarirati i stvoriti instance popisa na bilo koji od sljedećih načina:
List linkedlist = new LinkedList(); List arrayList = new ArrayList(); List vec_list = new Vector(); List stck_list = new Stack();
Kao što je prikazano gore, možete stvoriti popis s bilo kojom od gore navedenih klasa, a zatim ih inicijalizirati vrijednostima. Iz gornjih izjava možete razabrati da će se redoslijed elemenata mijenjati ovisno o klasi koja se koristi za stvaranje instance popisa.
Na primjer, za popis s klasom klase, redoslijed je Last In, First Out (LIFO).
Inicijalizirajte popis Java
Možete koristiti bilo koju od metoda danih u nastavku za inicijalizaciju objekta popisa.
# 1) Korištenje metode asList
Metoda asList () već je detaljno obrađena u temi Nizovi. Možete stvoriti nepromjenjivi popis pomoću vrijednosti polja.
Općenita sintaksa je:
List listname = Arrays.asList(array_name);
Ovdje bi se vrsta podataka trebala podudarati s vrstom niza.
Gornja izjava stvara nepromjenjiv popis. Ako želite da popis može biti promjenjiv, tada morate stvoriti instancu popisa pomoću new, a zatim mu dodijeliti elemente niza metodom asList.
Ovo je prikazano u nastavku:
List listname = new ArrayList (Arrays.asList(array_name));
Idemo implementirati program na Javi koji prikazuje stvaranje i inicijalizaciju popisa metodom asList .
koliko se c razlikuje od c ++-a
import java.util.*; public class Main { public static void main(String() args) { //array of strings String() strArray = {'Delhi', 'Mumbai', 'Kolkata', 'Chennai'}; //initialize an immutable list from array using asList method List mylist = Arrays.asList(strArray); //print the list System.out.println('Immutable list:'); for(String val : mylist){ System.out.print(val + ' '); } System.out.println('
'); //initialize a mutable list(arraylist) from array using asList method List arrayList = new ArrayList(Arrays.asList(strArray)); System.out.println('Mutable list:'); //add one more element to list arrayList.add('Pune'); //print the arraylist for(String val : arrayList){ System.out.print(val + ' '); } }
Izlaz:
U gore navedenom programu stvorili smo prvo nepromjenjivi popis metodom asList. Zatim kreiramo promjenjivi popis stvaranjem instance ArrayList, a zatim inicijalizacijom ArrayList vrijednostima iz niza metodom asList.
Imajte na umu da, budući da je drugi popis promjenjiv, možemo mu dodati i više vrijednosti.
# 2) Korištenje List.add ()
Kao što je već spomenuto, budući da je popis samo sučelje, ne može se napraviti instanca. Ali možemo instancirati klase koje implementiraju ovo sučelje. Stoga za inicijalizaciju klasa popisa možete koristiti njihove odgovarajuće metode dodavanja, koja je metoda sučelja popisa, ali koju provodi svaka od klasa.
Ako ti instancirajte klasu povezanog popisa kao ispod:
List llist = new LinkedList ();
Zatim, da biste dodali element na popis, možete koristiti metodu dodavanja na sljedeći način:
llist.add(3);
Postoji i tehnika koja se naziva „Inicijalizacija dvostrukim zagradama“ u kojoj se popis instancira i inicijalizira pozivanjem metode add u istom izrazu.
To se radi kako je prikazano u nastavku:
List llist = new LinkedList (){{ add(1); add(3);}};
Gornja izjava dodaje elemente 1 i 3 na popis.
Sljedeći program prikazuje inicijalizacije popisa metodom dodavanja . Također koristi tehniku inicijalizacije dvostrukim zagradama.
import java.util.*; public class Main { public static void main(String args()) { // ArrayList.add method List str_list = new ArrayList(); str_list.add('Java'); str_list.add('C++'); System.out.println('ArrayList : ' + str_list.toString()); // LinkedList.add method List even_list = new LinkedList(); even_list.add(2); even_list.add(4); System.out.println('LinkedList : ' + even_list.toString()); // double brace initialization - use add with declaration & initialization List num_stack = new Stack(){{ add(10);add(20); }}; System.out.println('Stack : ' + num_stack.toString()); } }
Izlaz:
Ovaj program ima tri različite deklaracije popisa, tj. ArrayList, LinkedList i Stack.
Instanciraju se objekti ArrayList i LinkedList, a zatim se pozivaju metode add za dodavanje elemenata tim objektima. Za stog se koristi inicijalizacija dvostruke zagrade u kojoj se metoda dodavanja poziva tijekom same instancije.
# 3) Korištenje metoda klase kolekcija
Klasa zbirki Java ima razne metode koje se mogu koristiti za inicijalizaciju popisa.
Neke od metoda su:
- Dodaj Sve
The opća sintaksa za zbirku addAll metoda je:
List listname = Collections.EMPTY_LIST; Collections.addAll(listname = new ArrayList(), values…);
Ovdje dodate vrijednosti praznom popisu. Metoda addAll uzima popis kao prvi parametar nakon kojeg slijede vrijednosti koje se unose na popis.
- unmodifiableList ()
Metoda ‘unmodifiableList ()’ vraća nepromjenjiv popis kojem se elementi ne mogu dodati niti izbrisati.
Opća sintaksa ove metode je sljedeća:
List listname = Collections.unmodifiableList(Arrays.asList(values…));
Metoda uzima vrijednosti parametara kao parametre i vraća popis. Ako uopće pokušate dodati ili izbrisati bilo koji element s ovog popisa, tada je kompajler izuzetak UnsupportedOperationException.
- singletonList ()
Metoda ‘singletonList’ vraća popis s jednim elementom. Popis je nepromjenjiv.
Općenita sintaksa ove metode je:
List listname = Collections.singletonList(value);
Sljedeći Java program prikazuje sve tri metode klase Collections o kojima se gore raspravljalo.
import java.util.*; public class Main { public static void main(String args()) { // empty list List list = new ArrayList(); // Instantiating list using Collections.addAll() Collections.addAll(list, 10, 20, 30, 40); // Print the list System.out.println('List with addAll() : ' + list.toString()); // Create& initialize the list using unmodifiableList method List intlist = Collections.unmodifiableList( Arrays.asList(1,3,5,7)); // Print the list System.out.println('List with unmodifiableList(): ' + intlist.toString()); // Create& initialize the list using singletonList method List strlist = Collections.singletonList('Java'); // Print the list System.out.println('List with singletonList(): ' + strlist.toString()); } }
Izlaz:
# 4) Korištenje Java8 Streamova
Uvođenjem streamova u Javi 8 možete i konstruirati tok podataka i sakupljati ih na popisu.
Sljedeće program prikazuje stvaranje popisa pomoću toka.
import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main { public static void main(String args()) { // Creating a List using toList Collectors method List list1 = Stream.of('January', 'February', 'March', 'April', 'May') .collect(Collectors.toList()); // Print the list System.out.println('List from Java 8 stream: ' + list1.toString()); } }
Izlaz:
Gornji program prikuplja tok niza na popis i vraća ga. Također možete koristiti i druge metode prikupljanja poput 'toCollection', 'unmodifiableList' itd., Osim asList-a u funkciji sakupljanja.
# 5) Java 9 List.of () metode
Nova metoda predstavljena je u Javi 9, List.of () koja uzima bilo koji broj elemenata i gradi popis. Sastavljeni popis je nepromjenjiv.
import java.util.List; public class Main { public static void main(String args()) { // Create a list using List.of() List strList = List.of('Delhi', 'Mumbai', 'Kolkata'); // Print the List System.out.println('List using Java 9 List.of() : ' + strList.toString()); } }
Izlaz:
Primjer popisa
Dolje je dat cjelovit primjer upotrebe sučelja s popisom i njegovih različitih metoda.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List intList = new ArrayList(); //add two values to the list intList.add(0, 10); intList.add(1, 20); System.out.println('The initial List:
' + intList); // Creating another list List cp_list = new ArrayList(); cp_list.add(30); cp_list.add(40); cp_list.add(50); // add list cp_list to intList from index 2 intList.addAll(2, cp_list); System.out.println('List after adding another list at index 2:
'+ intList); // Removes element from index 0 intList.remove(0); System.out.println('List after removing element at index 0:
' + intList); // Replace value of last element intList.set(3, 60); System.out.println('List after replacing the value of last element:
' + intList); } }
Izlaz:
Gornji izlaz programa prikazuje razne operacije izvedene na ArrayListu. Prvo, kreira i inicijalizira popis. Zatim kopira sadržaj drugog popisa na ovaj popis i također uklanja element s popisa. Napokon, zamjenjuje posljednji element na popisu drugom vrijednošću.
Metode popisa detaljno ćemo istražiti u sljedećem vodiču.
Popis za ispis
Postoje razne metode pomoću kojih možete ispisati elemente popisa na Javi.
Razgovarajmo ovdje o nekim metodama.
# 1) Korištenje za petlju / Poboljšano za petlju
Popis je uređena zbirka kojoj se može pristupiti pomoću indeksa. Možete koristiti for petlju koja se koristi za iteraciju pomoću indeksa za ispis svakog elementa popisa.
Java ima još jednu verziju for loop poznate kao poboljšana for loop koja se također može koristiti za pristup i ispis svakog elementa popisa.
Java program prikazan u nastavku pokazuje ispis sadržaja popisa pomoću for loop i poboljšani for loop.
import java.util.List; import java.util.ArrayList; import java.util.Arrays; class Main{ public static void main (String() args) { //string list List list = Arrays.asList('Java', 'Python', 'C++', 'C', 'Ruby'); //print list using for loop System.out.println('List contents using for loop:'); for (int i = 0; i Izlaz:
sleep () c ++

# 2) Korištenje metode toString
Metoda ‘toString ()’ sučelja popisa vraća predstavljanje niza popisa.
Program u nastavku pokazuje upotrebu metode toString ().
import java.util.List; import java.util.ArrayList; class Main{ public static void main (String() args){ //initialize a string list List list = new ArrayList(){{add('Python');add('C++');add('Java');}}; // string representation of list using toString method System.out.println('List contents using toString() method:' + list.toString()); } }
Izlaz:

Popis pretvoren u niz
Popis ima metodu toArray () koja pretvara popis u niz. Jednom pretvoreni u niz, možete koristiti metode polja o kojima se raspravlja u odgovarajućoj temi za ispis sadržaja ovog polja. Možete koristiti ili za, ili za poboljšanu petlju ili čak toString metodu.
Primjer naveden u nastavku koristi metodu toString za ispis sadržaja polja.
import java.util.*; class Main { public static void main (String() args) { //list of odd numbers List oddlist = Arrays.asList(1,3,5,7,9,11); // using List.toArray() method System.out.println('Contents of list converted to Array:'); System.out.println(Arrays.toString(oddlist.toArray())); } }
Izlaz:

Korištenje Java 8 Streamova
Streamovi su uvedeni u Javi 8. Možete koristiti streamove da biste se petljali kroz popis. Postoje i lambde pomoću kojih možete pregledavati popis.
Program u nastavku pokazuje korištenje strujanja za prevrtanje popisa i prikaz njegovog sadržaja.
import java.util.*; class Main{ public static void main (String() args){ //list of even numbers List evenlist = Arrays.asList(2,4,6,8,10,12,14); // print list using streams System.out.println('Contents of evenlist using streams:'); evenlist.stream().forEach(S ->System.out.print(S + ' ')); } }
Izlaz:

Osim gore spomenutih metoda, iteratore popisa možete koristiti za ponavljanje popisa i prikaz njegovog sadržaja. Imat ćemo cjelovit članak o iteratoru popisa u slijedećim vodičima.
Popis popisa
Sučelje Java popisa podržava 'popis popisa'. U tome su pojedinačni elementi popisa opet popis. To znači da možete imati popis unutar drugog popisa.
Ovaj je koncept vrlo koristan kada morate čitati podatke iz recimo CSV datoteka. Ovdje ćete možda trebati pročitati više popisa ili popisa unutar popisa, a zatim ih spremiti u memoriju. Opet ćete morati obraditi ove podatke i upisati natrag u datoteku. Stoga u takvim situacijama možete održavati popis popisa radi pojednostavljenja obrade podataka.
Sljedeći Java program prikazuje primjer Java popisa popisa.
U ovom programu imamo popis popisa tipa String. Izrađujemo dva odvojena popisa tipa string i dodijeljujemo vrijednosti tim popisima. Oba su popisa dodana na popis popisa metodom dodavanja.
Za prikaz sadržaja popisa popisa koristimo dvije petlje. Vanjska petlja (foreach) ponavlja se kroz popise popisa koji pristupaju popisima. Unutarnja petlja foreach pristupa pojedinačnim elementima niza svakog od ovih popisa.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String() args) { //create list of lists List java_listOfLists = new ArrayList (); //create a language list and add elements to it ArrayList lang_list = new ArrayList(); lang_list.add('Java'); lang_list.add('C++'); //add language list to java list of list java_listOfLists.add(lang_list); //create a city list and add elements to it ArrayList city_list = new ArrayList(); city_list.add('Pune'); city_list.add('Mumbai'); //add the city list to java list of lists java_listOfLists.add(city_list); //display the contents of list of lists System.out.println('Java list of lists contents:'); java_listOfLists.forEach((list) -> //access each list { list.forEach((city)->System.out.print(city + ' ')); //each element of inner list }); } }
Izlaz:

Popis Java popisa je mali pojam, ali je važan posebno kada morate čitati složene podatke u programu.
Često postavljana pitanja
P # 1) Što je popis i postavljen na Javi?
Odgovor: Popis je uređena zbirka elemenata. Na popisu možete imati dvostruke elemente.
Komplet nije naručena zbirka. Elementi u skupu nisu poredani nekim posebnim redoslijedom. Također, elementi u setu trebaju biti jedinstveni. Ne dopušta duplikate.
P # 2) Kako popis radi na Javi?
Odgovor: Popis je sučelje u Javi koje se proteže od sučelja Collection. Klase ArrayList, LinkedList, Stack i Vector implementiraju sučelje popisa. Stoga programer može koristiti ove klase za korištenje funkcionalnosti sučelja popisa.
P # 3) Što je ArrayList u Javi?
Odgovor: ArrayList je dinamički niz. To je zbirka elemenata koja se može promijeniti i implementira sučelje popisa. ArrayList interno koristi niz za spremanje elemenata.
P # 4) Počinju li popisi s Java na 0 ili 1?
Odgovor: Popisi u Javi imaju cjeloviti indeks zasnovan na nuli. To znači da je prvi element na popisu indeks 0, drugi element indeks 1 i tako dalje.
P # 5) Je li popis poredan?
Odgovor: Da. Popis je uređena zbirka elemenata. Ovaj se redoslijed čuva tijekom umetanja novog elementa na popis,
Zaključak
Ovaj je vodič dao uvod u sučelje popisa na Javi. Također smo razgovarali o glavnim konceptima popisa kao što su stvaranje, inicijalizacija popisa, ispis popisa itd.
U našim predstojećim vodičima razgovarat ćemo o različitim metodama koje pruža sučelje popisa. Također ćemo razgovarati o konstrukciji iteratora koja se koristi za iteraciju objekta popisa. O pretvorbi objekata popisa u druge strukture podataka razgovarat ćemo u našem nadolazećem vodiču.
=> Posjetite ovdje da biste vidjeli seriju Java treninga za sve.
Preporučena literatura
- Java Array - Deklariranje, stvaranje i inicijalizacija niza u Javi
- Niz objekata u Javi: kako stvoriti, inicijalizirati i koristiti
- Java Hello World - Stvorite svoj prvi program u Javi danas
- Implementacija Jave: Izrada i izvršavanje Java JAR datoteke
- Java virtualni stroj: kako JVM pomaže u pokretanju Java aplikacije
- Pristupiti modifikatorima u Javi - Vodič s primjerima
- Java Vodič za refleksiju s primjerima
- Uvod u programski jezik Java - Video vodič