logo

Seznam Java

Seznam v Javě poskytuje zařízení pro údržbu objednaný odběr . Obsahuje metody založené na indexu pro vkládání, aktualizaci, odstraňování a vyhledávání prvků. Může mít také duplicitní prvky. Do seznamu můžeme také uložit nulové prvky.

Rozhraní seznamu se nachází vjava.utilbalíček a zdědí rozhraní kolekce. Je to továrna rozhraní ListIterator. Prostřednictvím ListIteratoru můžeme seznam iterovat vpřed a vzad. Implementační třídy rozhraní List jsouArrayList,Spojový seznam, zásobník a vektor. ArrayList a LinkedList jsou široce používány v programování Java. Třída Vector je od Java 5 zastaralá.

Seznam deklarace rozhraní

 public interface List extends Collection 

Metody seznamu Java

Metoda Popis
void add (index int, prvek E) Používá se k vložení zadaného prvku na zadané místo v seznamu.
booleovské sčítání (E e) Používá se k připojení zadaného prvku na konec seznamu.
boolean addAll(kolekce c) Používá se k připojení všech prvků v zadané kolekci na konec seznamu.
boolean addAll(int index, kolekce c) Používá se k připojení všech prvků v zadané kolekci počínaje zadanou pozicí seznamu.
void clear() Používá se k odstranění všech prvků z tohoto seznamu.
boolean rovná se (objekt o) Používá se k porovnání zadaného objektu s prvky seznamu.
int hashcode() Používá se k vrácení hodnoty hash kódu pro seznam.
E get (int index) Používá se k načtení prvku z konkrétní pozice v seznamu.
boolean isEmpty() Vrací hodnotu true, pokud je seznam prázdný, v opačném případě vrací hodnotu false.
int lastIndexOf(Object o) Používá se k vrácení indexu v tomto seznamu posledního výskytu zadaného prvku nebo -1, pokud seznam tento prvek neobsahuje.
Object[] toArray() Používá se k vrácení pole obsahujícího všechny prvky v tomto seznamu ve správném pořadí.
T[] toArray(T[] a) Používá se k vrácení pole obsahujícího všechny prvky v tomto seznamu ve správném pořadí.
boolean obsahuje (Objekt o) Vrací hodnotu true, pokud seznam obsahuje zadaný prvek
boolean obsahuje vše (kolekce c) Vrací hodnotu true, pokud seznam obsahuje všechny zadané prvky
int indexOf(Objekt o) Používá se k vrácení indexu v tomto seznamu prvního výskytu zadaného prvku nebo -1, pokud seznam tento prvek neobsahuje.
E odstranit (int index) Používá se k odstranění prvku přítomného na zadané pozici v seznamu.
booleovské odstranění (objekt o) Používá se k odstranění prvního výskytu zadaného prvku.
boolean removeAll(kolekce c) Používá se k odstranění všech prvků ze seznamu.
void nahradit vše (operátor UnaryOperator) Používá se k nahrazení všech prvků ze seznamu zadaným prvkem.
void keepAll(kolekce c) Používá se k zachování všech prvků v seznamu, které jsou přítomny v zadané kolekci.
E sada (int index, E prvek) Používá se k nahrazení zadaného prvku v seznamu přítomného na zadané pozici.
void sort (Comparator c) Slouží k řazení prvků seznamu na základě zadaného komparátoru.
Spliterator spliterator() Používá se k vytvoření rozdělovače nad prvky v seznamu.
Seznam podseznam (int fromIndex, int toIndex) Používá se k načtení všech prvků ležících v daném rozsahu.
int size() Používá se k vrácení počtu prvků přítomných v seznamu.

Java List vs ArrayList

List je rozhraní, zatímco ArrayList je implementační třída List.

Jak vytvořit seznam

Třídy ArrayList a LinkedList poskytují implementaci rozhraní List. Podívejme se na příklady vytvoření seznamu:

 //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(); 

Stručně řečeno, můžete vytvořit seznam jakéhokoli typu. K určení typu se používají třídy ArrayList a LinkedList. Zde T označuje typ.

Příklad seznamu Java

Podívejme se na jednoduchý příklad List, kde jako implementaci používáme třídu ArrayList.

 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); } } 
Otestujte to hned

Výstup:

 Mango Apple Banana Grapes 

Jak převést Array na seznam

Pole můžeme převést na seznam procházením pole a přidáním prvku do seznamu jeden po druhém pomocí metody list.add(). Podívejme se na jednoduchý příklad převodu prvků pole na seznam.

 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); } } 
Otestujte to hned

Výstup:

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

Jak převést seznam na pole

Seznam můžeme převést na Array voláním metody list.toArray(). Podívejme se na jednoduchý příklad převodu prvků seznamu na pole.

java seznam prázdný
 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); } } 
Otestujte to hned

Výstup:

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

Získejte a nastavte prvek v seznamu

The metoda get(). vrátí prvek na daném indexu, zatímco metoda set(). změní nebo nahradí prvek.

řádek vs sloupec
 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); } } 
Otestujte to hned

Výstup:

 Returning element: Apple Mango Dates Banana Grapes 

Jak seřadit seznam

Existují různé způsoby, jak třídit seznam, zde použijeme metodu Collections.sort() k seřazení prvku seznamu. The java.util balíček poskytuje třídu utility Sbírky která má statickou metodu sort(). Za použití Collections.sort() můžeme snadno seřadit libovolný seznam.

 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); } } 

Výstup:

 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Rozhraní Java ListIterator

Rozhraní ListIterator se používá k procházení prvku ve směru vzad a vpřed.

Deklarace rozhraní ListIterator

 public interface ListIterator extends Iterator 

Metody rozhraní Java ListIterator:

Metoda Popis
void add (E e) Tato metoda vloží zadaný prvek do seznamu.
boolean hasNext() Tato metoda vrátí hodnotu true, pokud má iterátor seznamu více prvků při procházení seznamu v dopředném směru.
E další() Tato metoda vrátí další prvek v seznamu a posune pozici kurzoru.
int nextIndex() Tato metoda vrací index prvku, který by byl vrácen následným voláním next()
boolean hasPrevious() Tato metoda vrátí hodnotu true, pokud má tento iterátor seznamu více prvků při procházení seznamu v opačném směru.
E předchozí() Tato metoda vrátí předchozí prvek v seznamu a přesune pozici kurzoru zpět.
E předchozíIndex() Tato metoda vrací index prvku, který by byl vrácen následným voláním previous().
void remove() Tato metoda odstraní poslední prvek ze seznamu, který byl vrácen metodami next() nebo previous().
neplatná sada (E e) Tato metoda nahradí poslední prvek vrácený metodami next() nebo previous() zadaným prvkem.

Příklad rozhraní ListIterator

 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()); } } } 

Výstup:

 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říklad seznamu: Kniha

Podívejme se na příklad Seznamu, kam přidáváme Knihy.

 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); } } } 
Otestujte to hned

Výstup:

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

Související témata

ArrayList v Javě

LinkedList v Javě

Rozdíl mezi ArrayList a LinkedList

Rozdíl mezi Array a ArrayList

Kdy použít ArrayList a LinkedList v Javě

Rozdíl mezi ArrayList a Vector

Jak porovnat dva ArrayList v Javě

Jak obrátit ArrayList v Javě

Kdy použít ArrayList a LinkedList v Javě

co je zpracování výjimek v Javě

Jak nastavit ArrayList pouze pro čtení

Rozdíl mezi délkou pole a size() ArrayList v Javě

Jak synchronizovat ArrayList v Javě

Jak převést ArrayList na Array a Array na ArrayList v Javě

Array vs ArrayList v Javě

Jak seřadit Java ArrayList v sestupném pořadí

Jak odstranit duplikáty z ArrayList v Javě