logo

Zoznam Java

Zoznam v jazyku Java poskytuje zariadenie na údržbu objednaný odber . Obsahuje indexovo založené metódy na vkladanie, aktualizáciu, mazanie a vyhľadávanie prvkov. Môže mať aj duplicitné prvky. Do zoznamu môžeme uložiť aj nulové prvky.

Rozhranie zoznamu sa nachádza vjava.utilbalík a zdedí rozhranie kolekcie. Je to továreň rozhrania ListIterator. Prostredníctvom ListIterator môžeme iterovať zoznam v smere dopredu a dozadu. Triedy implementácie rozhrania List súArrayList,LinkedList, Stack a Vector. ArrayList a LinkedList sú široko používané v programovaní Java. Trieda Vector je od Java 5 zastaraná.

Vyhlásenie o rozhraní zoznamu

 public interface List extends Collection 

Metódy zoznamu Java

Metóda Popis
void add (int index, E prvok) Používa sa na vloženie určeného prvku na určené miesto v zozname.
boolovské sčítanie (E e) Používa sa na pripojenie špecifikovaného prvku na koniec zoznamu.
boolean addAll(kolekcia c) Používa sa na pripojenie všetkých prvkov v zadanej kolekcii na koniec zoznamu.
boolean addAll(int index, kolekcia c) Používa sa na pripojenie všetkých prvkov v zadanej kolekcii, počnúc od zadanej pozície zoznamu.
void clear() Používa sa na odstránenie všetkých prvkov z tohto zoznamu.
boolean rovná sa (objekt o) Používa sa na porovnanie zadaného objektu s prvkami zoznamu.
int hashcode() Používa sa na vrátenie hodnoty hash kódu pre zoznam.
E get (int index) Používa sa na získanie prvku z konkrétnej pozície v zozname.
boolean isEmpty() Ak je zoznam prázdny, vráti hodnotu true, inak hodnotu false.
int lastIndexOf(Object o) Používa sa na vrátenie indexu v tomto zozname posledného výskytu zadaného prvku alebo -1, ak zoznam tento prvok neobsahuje.
Object[] toArray() Používa sa na vrátenie poľa obsahujúceho všetky prvky v tomto zozname v správnom poradí.
T[] toArray(T[] a) Používa sa na vrátenie poľa obsahujúceho všetky prvky v tomto zozname v správnom poradí.
boolean obsahuje (Objekt o) Ak zoznam obsahuje zadaný prvok, vráti hodnotu true
boolean obsahuje všetko (kolekcia c) Ak zoznam obsahuje všetky zadané prvky, vráti hodnotu true
int indexOf(Objekt o) Používa sa na vrátenie indexu v tomto zozname prvého výskytu zadaného prvku alebo -1, ak zoznam tento prvok neobsahuje.
E odstrániť (int index) Používa sa na odstránenie prvku prítomného na zadanej pozícii v zozname.
boolovské odstránenie (objekt o) Používa sa na odstránenie prvého výskytu zadaného prvku.
boolean removeAll(kolekcia c) Používa sa na odstránenie všetkých prvkov zo zoznamu.
void replaceAll (operátor UnaryOperator) Používa sa na nahradenie všetkých prvkov zo zoznamu zadaným prvkom.
void keepAll (Kolekcia c) Používa sa na uchovanie všetkých prvkov v zozname, ktoré sa nachádzajú v zadanej kolekcii.
E sada (int index, E prvok) Používa sa na nahradenie zadaného prvku v zozname, ktorý sa nachádza na zadanej pozícii.
void sort (Comparator c) Používa sa na triedenie prvkov zoznamu na základe zadaného porovnávača.
Spliterator spliterator() Používa sa na vytvorenie rozdeľovača nad prvkami v zozname.
Zoznam podzoznam (int fromIndex, int toIndex) Používa sa na načítanie všetkých prvkov v danom rozsahu.
int size() Používa sa na vrátenie počtu prvkov prítomných v zozname.

Java List vs ArrayList

List je rozhranie, zatiaľ čo ArrayList je implementačná trieda zoznamu.

Ako vytvoriť zoznam

Triedy ArrayList a LinkedList poskytujú implementáciu rozhrania List. Pozrime sa na príklady vytvorenia zoznamu:

 //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čne povedané, môžete vytvoriť zoznam akéhokoľvek typu. Na určenie typu sa používajú triedy ArrayList a LinkedList. Tu T označuje typ.

Príklad zoznamu Java

Pozrime sa na jednoduchý príklad List, kde ako implementáciu používame triedu 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); } } 
Vyskúšajte to

Výkon:

 Mango Apple Banana Grapes 

Ako previesť pole na zoznam

Pole môžeme skonvertovať na zoznam tak, že prechádzame cez pole a pridávame prvok do zoznamu jeden po druhom pomocou metódy list.add(). Pozrime sa na jednoduchý príklad prevodu prvkov poľa na zoznam.

 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); } } 
Vyskúšajte to

Výkon:

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

Ako previesť zoznam na pole

Zoznam môžeme previesť na pole zavolaním metódy list.toArray(). Pozrime sa na jednoduchý príklad prevodu prvkov zoznamu na pole.

volanie funkcie js z html
 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); } } 
Vyskúšajte to

Výkon:

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

Získajte a nastavte prvok v zozname

The get() metóda vráti prvok na danom indexe, zatiaľ čo metóda set(). zmení alebo nahradí prvok.

 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); } } 
Vyskúšajte to

Výkon:

 Returning element: Apple Mango Dates Banana Grapes 

Ako triediť zoznam

Existujú rôzne spôsoby triedenia zoznamu, tu použijeme metódu Collections.sort() na triedenie prvku zoznamu. The java.util balík poskytuje pomocnú triedu zbierky ktorý má statickú metódu sort(). Pomocou Collections.sort() môžeme jednoducho zoradiť ľubovoľný zoznam.

 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ýkon:

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

Rozhranie Java ListIterator

Rozhranie ListIterator sa používa na prechádzanie prvkom v smere dozadu a dopredu.

Deklarácia rozhrania ListIterator

 public interface ListIterator extends Iterator 

Metódy rozhrania Java ListIterator:

Metóda Popis
void add(E e) Táto metóda vloží zadaný prvok do zoznamu.
boolean hasNext() Táto metóda vráti hodnotu true, ak má iterátor zoznamu viac prvkov pri prechádzaní zoznamu v smere dopredu.
E ďalšie() Táto metóda vráti ďalší prvok v zozname a posunie pozíciu kurzora dopredu.
int nextIndex() Táto metóda vráti index prvku, ktorý by bol vrátený následným volaním funkcie next()
boolean hasPrevious() Táto metóda vráti hodnotu true, ak má tento iterátor zoznamu viac prvkov pri prechádzaní zoznamom v opačnom smere.
E predchádzajúce() Táto metóda vráti predchádzajúci prvok v zozname a posunie pozíciu kurzora dozadu.
E predchádzajúciIndex() Táto metóda vráti index prvku, ktorý by bol vrátený následným volaním predchádzajúcej().
void remove() Táto metóda odstráni posledný prvok zo zoznamu, ktorý vrátila metóda next() alebo previous().
prázdna sada (E e) Táto metóda nahrádza posledný prvok vrátený metódami next() alebo previous() špecifikovaným prvkom.

Príklad rozhrania 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ýkon:

 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 

Príklad zoznamu: Kniha

Pozrime sa na príklad zoznamu, do ktorého pridávame 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); } } } 
Vyskúšajte to

Výkon:

koľko filmov s nemožnými úlohami existuje
 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Súvisiace témy

ArrayList v jazyku Java

LinkedList v jazyku Java

Rozdiel medzi ArrayList a LinkedList

Rozdiel medzi Array a ArrayList

Kedy použiť ArrayList a LinkedList v jazyku Java

Rozdiel medzi ArrayList a Vector

Ako porovnať dva ArrayList v Jave

Ako zvrátiť ArrayList v Jave

kreslenie obdĺžnika gimp

Kedy použiť ArrayList a LinkedList v jazyku Java

Ako urobiť ArrayList iba na čítanie

Rozdiel medzi dĺžkou poľa a veľkosťou () ArrayList v Jave

Ako synchronizovať ArrayList v Jave

Ako previesť ArrayList na Array a Array na ArrayList v jave

Array vs ArrayList v jazyku Java

Ako triediť Java ArrayList v zostupnom poradí

Ako odstrániť duplikáty z ArrayList v jazyku Java