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
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