Ez a Java List Tutorial elmagyarázza, hogyan lehet létrehozni, inicializálni és nyomtatni listák Java. Az oktatóanyag a teljes Kódpéldával rendelkező listák listáját is ismerteti:

Ez az oktatóanyag bemutatja a “lista” adatszerkezetet, amely a Java Collection felület egyik alapvető struktúrája.

A Java-ban található lista az elemek sorrendje. A lista Felület java.,util csomag az egyik, hogy végrehajtja ezt a sorozatot a tárgyak rendelt egy adott módon úgynevezett lista.

= > Itt ellenőrizheti az összes Java oktatóanyagot.

csakúgy, mint a tömbök, a listaelemek az indexek segítségével is elérhetők, az első index 0-tól kezdve. Az index egy adott elemet jelöl az ” I ” Indexnél, azaz a lista kezdetétől távol van.

a Java-ban a lista néhány jellemzője a következő:

  • A listák ismétlődő elemekkel rendelkezhetnek.
  • a lista “null” elemekkel is rendelkezhet.,
  • felsorolja a támogató generikumokat, azaz általános listákat is tartalmazhat.
  • vegyes objektumok (különböző osztályok objektumai) is lehetnek ugyanabban a listában.
  • A listák mindig megőrzik a beszúrási sorrendet, és lehetővé teszik a pozícióhoz való hozzáférést.

List in Java

a Java List felület a Java Collection interfész altípusa. Ez a szabványos felület, amely örökli a gyűjtemény interfész Java.

Az alábbiakban a Java List felület osztálydiagramja látható.,

Java list Class Diagram

amint az a fenti osztálydiagramon látható, a Java list interfész a java gyűjtemény interfészéből származik.util csomag, amely viszont kiterjed az Iterable interfész a java.util csomag. A class AbstractList a lista felületének vázszerű implementációját biztosítja.

a clinkedlist, Stack, Vector, ArrayList és CopyOnWriteArrayList osztályok a programozók által gyakran használt lista interfész implementációs osztályai., Így négyféle lista létezik Java-ban, azaz verem, LinkedList, ArrayList és vektor.

ezért, ha listafelületet kell végrehajtania, a fenti lista típusosztály bármelyikét végrehajthatja a követelményektől függően. A listafelület funkcionalitásának beillesztéséhez a programba importálnia kell a Java csomagot.util.,* amelyek listafelületet és más osztálymeghatározásokat tartalmaznak a következők szerint:

import java.util.*;

Create & Deklarate List

már kijelentettük, hogy a lista interfész, és olyan osztályok hajtják végre, mint az ArrayList, Stack, Vector és LinkedList. Ezért dönthettek létre esetben a lista a következő módon:

List linkedlist = new LinkedList(); List arrayList = new ArrayList();List vec_list = new Vector(); List stck_list = new Stack();

a fenti ábrán látható módon, akkor létrehozhat egy listát a fenti osztályok majd aktiválni ezeket a listákat az értékeket., A fenti kijelentésekből megtudhatja, hogy az elemek sorrendje a lista példányának létrehozásához használt osztálytól függően változik.

például egy lista verem osztály, a sorrend Utolsó, első ki (LIFO).

Java lista inicializálása

a lista objektum inicializálásához az alábbi módszerek bármelyikét használhatja.

#1) az asList metódus használata

a metódus asList () már részletesen szerepel a tömbök témakörben. A tömb értékei segítségével létrehozhat egy megváltoztathatatlan listát.,

az Általános szintaxis:

List<data_type> listname = Arrays.asList(array_name);

itt a data_type-nak meg kell egyeznie a tömb értékével.

a fenti állítás egy megváltoztathatatlan listát hoz létre. Ha azt szeretné, hogy a lista változékony legyen, akkor létre kell hoznia a lista egy példányát az új használatával, majd hozzá kell rendelnie a tömb elemeit az asList módszerrel.

Ez az alábbiakban látható:

List<data_type> listname = new ArrayList<> (Arrays.asList(array_name));

hajtsunk végre egy Java programot, amely a lista létrehozását és inicializálását mutatja az asList módszerrel.,

kimenet:

a fenti programban először az asList módszerrel hoztuk létre a megváltoztathatatlan listát. Ezután létrehozunk egy módosítható listát az ArrayList egy példányának létrehozásával, majd inicializáljuk ezt az ArrayList-t a tömb értékeivel az asList módszerrel.

vegye figyelembe, hogy mivel a második lista megváltoztatható, további értékeket is hozzáadhatunk hozzá.

# 2) lista használata.add ()

mint már említettük, mivel a lista csak egy felület, amelyet nem lehet instantálni. De tudjuk példányosítani osztályok, amelyek végre ezt a felületet., Ezért a listaosztályok inicializálásához használhatja a megfelelő add módszereket, amelyek egy listafelület-módszer, de az egyes osztályok végrehajtják.

Ha létrehozni egy láncolt lista osztály, mint az alábbi:

List<Integer> llist = new LinkedList<Integer> ();

Majd, hogy egy elemet a listában, akkor használja a hozzáadás a módszer a következőképpen:

llist.add(3);

van is egy technika, az úgynevezett “Kettős zárójel inicializálás”, amelyben a lista használatba venné, majd elindítva hívja a hozzá módszer ugyanaz a nyilatkozatot.,

Ez az alábbiak szerint történik:

List<Integer> llist = new LinkedList<Integer> (){{ add(1); add(3);}};

a fenti állítás az 1.és 3. elemeket hozzáadja a listához.

a következő program a lista inicializálását mutatja a Hozzáadás módszerrel. Azt is használja a kettős zárójel inicializálási technika.

Output:

Ez a program három különböző lista nyilatkozatok, azaz ArrayList, LinkedList, Stack.

ArrayList and LinkedList objects are instantiated and then the add methods are called to add elements to these objects., A stack esetében kettős zárójel inicializálást alkalmaznak, amelyben az Add módszert az instantálás során hívják.

# 3) Collections Class Methods

a Java collections osztálya különböző módszerekkel rendelkezik, amelyek felhasználhatók a lista inicializálására.

néhány módszer a következő:

  • addAll

a gyűjtemények általános szintaxisa addAll módszer:

List<dataType> listname = Collections.EMPTY_LIST;Collections.addAll(listname = new ArrayList<datatype>(), values…);

itt értékeket adhat hozzá egy üres listához. Az addAll módszer a listát az első paraméterként veszi fel, amelyet a listába beillesztendő értékek követnek.,

  • unmodifiableList ()

az “unmodifiableList ()” módszer egy megváltoztathatatlan listát ad vissza, amelyhez az elemeket nem lehet hozzáadni vagy törölni.

a módszer általános szintaxisa a következő:

List<datatype> listname = Collections.unmodifiableList(Arrays.asList(values…));

a módszer paraméterként veszi fel a listaértékeket, és visszaad egy listát. Ha egyáltalán megpróbál hozzáadni vagy törölni bármely elemet ebből a listából, akkor a fordító kivételt dob UnsupportedOperationException.

  • singletonList ()

a “singletonList” metódus egy olyan listát ad vissza, amelyben egyetlen elem található. A lista megváltoztathatatlan.,

a módszer általános szintaxisa:

List<datatype> listname = Collections.singletonList(value);

a következő Java program bemutatja a fent tárgyalt Gyűjteményosztály mindhárom módszerét.

kimenet:

#4) A Java8 streamek használatával

a streamek Java 8-ban történő bevezetésével egy adatfolyamot is létrehozhat, és összegyűjtheti őket egy listában.

a következő program egy lista létrehozását mutatja a stream használatával.

Output:

a fenti program összegyűjti a string streamjét egy listába, majd visszaadja azt., Ön is használja a többi gyűjtők módszerek, mint a “toCollection”, “unmodifiableList” stb. eltekintve asList a gyűjtési funkció.

# 5) Java 9 lista.az () metódus

egy új módszer kerül bevezetésre a Java 9, List.az () amely tetszőleges számú elemet tartalmaz, és összeállítja a listát. Az összeállított lista megváltoztathatatlan.

Output:

list Example

Az alábbiakban egy teljes példa a lista interfész és a különböző módszerek.

kimenet:

a fenti programkimenet az ArrayList-en végrehajtott különböző műveleteket mutatja. Először létrehozza és inicializálja a listát., Ezután átmásolja egy másik lista tartalmát erre a listára, valamint eltávolít egy elemet a listáról. Végül a lista utolsó elemét egy másik értékkel helyettesíti.

a következő Bemutatónkban részletesen megvizsgáljuk a lista módszereit.

nyomtatási lista

vannak különböző módszerek, amelyek segítségével kinyomtathatja a lista elemeit Java-ban.

beszéljünk néhány módszerről itt.

#1) A Loop/Enhanced For Loop

a lista egy rendezett gyűjtemény, amely elérhető indexek., Használhatja a hurok, hogy használják iterálni az indexek nyomtatni minden eleme a lista.

Java van egy másik változata a For loop tudja, mint továbbfejlesztett hurok, hogy is lehet használni, hogy hozzáférjen, majd nyomtassa ki minden eleme a lista.

az alább látható Java program bemutatja a lista tartalmának nyomtatását a loop és enhanced For loop használatával.

kimenet:

#2) A toString metódus használatával

a lista interfészének “toString ()” metódusa a lista karakterlánc ábrázolását adja vissza.

az alábbi program bemutatja a toString() módszer használatát.,

Output:

List konvertálni egy tömb

a lista egy módszer toArray (), amely átalakítja a listát egy tömb. Miután átalakult egy tömbbe, használhatja az adott témában tárgyalt tömb módszereket a tömb tartalmának kinyomtatásához. Akkor sem használja vagy továbbfejlesztett hurok vagy akár toString módszer.

az alábbi példa a toString módszert használja a tömb tartalmának kinyomtatásához.

Output:

Java 8 patakok használata

patakok kerülnek bevezetésre a Java 8-ban. Használhatja a patakok hurok a listán., Vannak lambdák is, amelyek segítségével iterálhatja a listát.

az alábbi program mutatja a folyamok használatát, hogy végighaladjanak a listán, majd megjelenítsék annak tartalmát.

Output:

a fent tárgyalt módszereken kívül a lista iterátorai segítségével iterálhat a listán, és megjelenítheti annak tartalmát. Lesz egy teljes cikket a listán iterátor a következő útmutatók.

listák listája

a Java list interface támogatja a “listák listáját”. Ebben a lista egyes elemei ismét egy lista. Ez azt jelenti, hogy van egy lista egy másik listán belül.,

Ez a koncepció nagyon hasznos, ha el kell olvasni az adatokat mondjuk CSV fájlokat. Itt lehet, hogy több listát vagy listát kell olvasnia a listákon belül, majd tárolnia kell őket a memóriában. Ismét ezeket az adatokat kell feldolgoznia, majd vissza kell írnia a fájlba. Így ilyen helyzetekben fenntarthatja a listák listáját az adatfeldolgozás egyszerűsítése érdekében.

a következő Java program egy példát mutat be a listák Java listájára.

ebben a programban van egy lista a típusú karakterláncok listáiról. Két különálló karakterlánc-listát hozunk létre, és értékeket rendelünk ezekhez a listákhoz., Mindkét lista hozzáadódik a listák listájához a Hozzáadás módszerrel.

a listák listájának tartalmának megjelenítéséhez két hurkot használunk. A külső hurok (foreach) a listákhoz tartozó listák listáin keresztül iterálódik. A belső foreach hurok az egyes listák karakterláncelemeihez fér hozzá.

kimenet:

A listák Java listája egy kis koncepció, de fontos, különösen akkor, ha összetett adatokat kell olvasnia a programban.

Gyakran Ismételt Kérdések

Q #1) Mi a lista és a Java?

válasz: a lista rendezett elemgyűjtemény., Duplikált elemek lehetnek a listában.

a készlet nem rendezett gyűjtemény. A készlet elemei nincsenek elrendezve egy adott sorrendben. A készlet elemeinek is egyedinek kell lenniük. Nem teszi lehetővé a másolatokat.

Q # 2) Hogyan működik a lista a Java?

válasz: a lista egy Java felület, amely kiterjed a gyűjtemény felület. Az osztályok ArrayList, LinkedList, Stack, and Vector implementálja a lista interfész. Így egy programozó használhatja ezeket az osztályokat a lista Felület funkcionalitásának használatához.

Q # 3) Mi az ArrayList a Java-ban?,

válasz: az ArrayList egy dinamikus tömb. Ez egy átméretezhető elemgyűjtemény, amely megvalósítja a lista interfészt. Az ArrayList belsőleg egy tömböt használ az elemek tárolására.

Q # 4) a listák 0 vagy 1-nél kezdődnek Java-ban?

válasz: a Java listáinak nulla alapú egész indexe van. Ez azt jelenti, hogy a lista első eleme a 0.index, a második elem az 1. Indexnél stb.

Q #5) a lista megrendelt?

válasz: igen. A lista az elemek rendezett gyűjteménye., Ez a sorrend megmarad, egy új elem beillesztése során a listában,

következtetés

Ez a bemutató bemutatta a Java listafelületet. Megvitattuk a listák főbb fogalmait is, mint például a létrehozás, a listák inicializálása, a listák nyomtatása stb.

a közelgő oktatóanyagokban megvitatjuk a lista interfész által biztosított különböző módszereket. Azt is megvitatjuk az iterátor konstrukciót, amelyet a listaobjektum iterálására használnak. A következő Bemutatónkban megvitatjuk a listaobjektumok más adatstruktúrákra történő átalakítását.,

= > látogasson el ide, hogy a Java képzési sorozat minden.