logo

Java lista

Lista a Java-ban biztosítja a lehetőséget a megrendelt gyűjtés . Tartalmazza az elemek beszúrásának, frissítésének, törlésének és keresésének indexalapú metódusait. Lehetnek benne duplikált elemek is. A listában a null elemeket is tárolhatjuk.

A Lista felület ajava.utilcsomagot, és örökli a Gyűjtemény felületet. Ez egy gyári ListIterator interfész. A ListIterator segítségével a listát előre és hátra irányban iterálhatjuk. A List interfész megvalósítási osztályai a következőkTömb lista,LinkedList, Stack és Vector. Az ArrayList és a LinkedList széles körben használatos a Java programozásban. A Vector osztály a Java 5 óta elavult.

List Interface deklaráció

 public interface List extends Collection 

Java lista módszerek

Módszer Leírás
void add(int index, E elem) A megadott elem beszúrására szolgál a lista megadott helyére.
logikai összeadás(E e) Arra szolgál, hogy a megadott elemet hozzáfűzze a lista végéhez.
logikai addAll(c gyűjtemény) Ez arra szolgál, hogy a megadott gyűjtemény összes elemét hozzáfűzze a lista végéhez.
logikai addAll(int index, c gyűjtemény) A megadott gyűjtemény összes elemének hozzáfűzésére szolgál, a lista megadott helyétől kezdve.
void clear() A listából az összes elem eltávolítására szolgál.
logikai egyenlő (o objektum) A megadott objektum egy lista elemeivel való összehasonlítására szolgál.
int hashcode() Egy lista hash kód értékének visszaadására szolgál.
E get(int index) Az elem lekérésére szolgál a lista adott helyéről.
logikai érték üres() Ha a lista üres, igaz, egyébként hamis értéket ad vissza.
int lastIndexOf(O objektum) A megadott elem utolsó előfordulásának indexét adja vissza ebben a listában, vagy -1 értéket, ha a lista nem tartalmazza ezt az elemet.
Object[] toArray() Egy olyan tömb visszaadására szolgál, amely a lista összes elemét tartalmazza a megfelelő sorrendben.
T[] toArray(T[] a) Egy olyan tömb visszaadására szolgál, amely a lista összes elemét tartalmazza a megfelelő sorrendben.
logikai érték tartalmazza (o objektum) Igazat ad vissza, ha a lista tartalmazza a megadott elemet
logikai érték tartalmazza az összeset (c gyűjtemény) Igazat ad vissza, ha a lista az összes megadott elemet tartalmazza
int indexOf(O objektum) A megadott elem első előfordulásának indexét adja vissza ebben a listában, vagy -1 értéket, ha a Lista nem tartalmazza ezt az elemet.
E eltávolítás (int index) A listában a megadott helyen lévő elem eltávolítására szolgál.
logikai eltávolítás (O-objektum) A megadott elem első előfordulásának eltávolítására szolgál.
Boolean RemoveAll (c gyűjtemény) Ez az összes elem eltávolítására szolgál a listából.
érvénytelen csereAll (UnaryOperator operátor) A lista összes elemének lecserélésére szolgál a megadott elemre.
érvénytelen, megtart minden (c gyűjtemény) A lista összes olyan elemének megtartására szolgál, amely a megadott gyűjteményben található.
E halmaz(int index, E elem) A listában a megadott helyen lévő, megadott elem helyettesítésére szolgál.
üres rendezés (c összehasonlító) A lista elemeinek rendezésére szolgál a megadott összehasonlító alapján.
Spliterator spliterator() A lista elemei feletti elválasztó létrehozására szolgál.
List all List (int fromIndex, int toIndex) A megadott tartományon belüli összes elem lekérésére szolgál.
int size() A listában lévő elemek számának visszaadására szolgál.

Java List vs ArrayList

A List egy interfész, míg az ArrayList a List megvalósítási osztálya.

Hogyan készítsünk listát

Az ArrayList és LinkedList osztályok a List interfész megvalósítását biztosítják. Lássuk a példákat a lista létrehozásához:

 //Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList(); 

Röviden: bármilyen típusú listát létrehozhat. Az ArrayList és LinkedList osztályok a típus megadására szolgálnak. Itt a T a típust jelöli.

Java lista példa

Lássunk egy egyszerű példát a List-re, ahol az ArrayList osztályt használjuk megvalósításként.

 import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Tesztelje most

Kimenet:

 Mango Apple Banana Grapes 

Hogyan lehet a tömböt listává konvertálni

A tömböt Listává alakíthatjuk úgy, hogy bejárjuk a tömböt, és a list.add() metódussal egyesével hozzáadjuk az elemet a listához. Lássunk egy egyszerű példát a tömbelemek Listává konvertálására.

 import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } } 
Tesztelje most

Kimenet:

 Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++] 

Hogyan lehet a listát tömbbe konvertálni

A listát tömbbé alakíthatjuk a list.toArray() metódus meghívásával. Nézzünk egy egyszerű példát a listaelemek tömbbé alakítására.

szál szinkronizálás
 import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } } 
Tesztelje most

Kimenet:

 Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry] 

Szerezze be és állítsa be az elemet a listában

A get() metódus az adott indexen lévő elemet adja vissza, míg a set() metódus megváltoztatja vagy lecseréli az elemet.

 import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Tesztelje most

Kimenet:

 Returning element: Apple Mango Dates Banana Grapes 

A lista rendezése

A Lista rendezésének többféle módja van, itt a Collections.sort() metódust fogjuk használni a listaelemek rendezésére. A java.util csomag egy használati osztályt biztosít Gyűjtemények amely a statikus sort() metódussal rendelkezik. Használni a Collections.sort() módszerrel könnyedén rendezhetünk bármilyen listát.

 import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } } 

Kimenet:

arraylist és linkedlist
 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Java ListIterator felület

A ListIterator interfész arra szolgál, hogy az elemen hátra és előre haladjon.

ListIterator interfész deklaráció

 public interface ListIterator extends Iterator 

A Java ListIterator interfész módszerei:

Módszer Leírás
érvénytelen hozzáadás (E e) Ez a módszer beszúrja a megadott elemet a listába.
logikai hasNext() Ez a metódus igazat ad vissza, ha a lista iterátornak több eleme van, miközben előrefelé halad a listán.
E következő() Ez a módszer a lista következő elemét adja vissza, és előreviszi a kurzor pozícióját.
int nextIndex() Ez a metódus visszaadja annak az elemnek az indexét, amelyet a next() következő hívása visszaadna.
logikai hasPrevious() Ez a metódus igazat ad vissza, ha ennek a listaiterátornak több eleme van, miközben fordított irányban halad a listán.
E előző() Ez a módszer visszaadja a lista előző elemét, és visszamozgatja a kurzor pozícióját.
E előzőIndex() Ez a metódus visszaadja annak az elemnek az indexét, amelyet egy következő hívás adna vissza a previous()-nak.
érvénytelen eltávolítás() Ez a metódus eltávolítja a listából a next() vagy previous() metódusok által visszaadott utolsó elemet
üres halmaz (E e) Ez a metódus lecseréli a next() vagy previous() metódusok által visszaadott utolsó elemet a megadott elemre.

Példa a ListIterator felületre

 import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } } 

Kimenet:

 Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit 

Példa a listára: Könyv

Lássunk egy példát a listára, ahol a könyveket adjuk hozzá.

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 
Tesztelje most

Kimenet:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Kapcsolódó témák

ArrayList Java nyelven

LinkedList Java nyelven

Az ArrayList és a LinkedList közötti különbség

Különbség az Array és az ArrayList között

Mikor kell használni az ArrayList-et és a LinkedList-et Java-ban

Az ArrayList és a Vector közötti különbség

Hogyan hasonlítsunk össze két ArrayList-et Java-ban

a java az instanceof

Hogyan lehet megfordítani az ArrayList-et Java-ban

Mikor kell használni az ArrayList-et és a LinkedList-et Java-ban

Az ArrayList csak olvashatóvá tétele

Különbség a tömb hossza és az ArrayList mérete () között Java-ban

Az ArrayList szinkronizálása Java-ban

Hogyan lehet az ArrayList-et Array-re és az Array-t ArrayList-re konvertálni java-ban

Array vs ArrayList Java-ban

A Java ArrayList rendezése csökkenő sorrendben

Hogyan távolítsuk el a duplikációkat az ArrayList-ből Java-ban