logo

Java lista

Popis u Javi pruža mogućnost održavanja naručeno prikupljanje . Sadrži metode temeljene na indeksu za umetanje, ažuriranje, brisanje i pretraživanje elemenata. Može imati i duplicirane elemente. Također možemo pohraniti nulte elemente na listu.

Sučelje popisa nalazi se ujava.utilpaket i nasljeđuje sučelje zbirke. To je tvornica ListIterator sučelja. Kroz ListIterator, možemo iterirati popis u smjeru naprijed i nazad. Implementacijske klase List sučelja suArrayList,LinkedList, snop i vektor. ArrayList i LinkedList naširoko se koriste u Java programiranju. Klasa Vector je zastarjela od Jave 5.

Deklaracija sučelja popisa

 public interface List extends Collection 

Java metode popisa

metoda Opis
void add(int indeks, E element) Koristi se za umetanje navedenog elementa na određeno mjesto na popisu.
Booleov zbroj (E e) Koristi se za dodavanje navedenog elementa na kraj popisa.
boolean addAll(kolekcija c) Koristi se za dodavanje svih elemenata u navedenoj kolekciji na kraj popisa.
boolean addAll(int indeks, zbirka c) Koristi se za dodavanje svih elemenata u navedenoj kolekciji, počevši od navedenog položaja popisa.
praznina jasno() Koristi se za uklanjanje svih elemenata s ovog popisa.
Boolean jednako (objekt o) Koristi se za usporedbu navedenog objekta s elementima popisa.
int hashcode() Koristi se za vraćanje vrijednosti hash koda za popis.
E get(int index) Koristi se za dohvaćanje elementa s određene pozicije na popisu.
Boolean isEmpty() Vraća true ako je popis prazan, inače false.
int lastIndexOf(Object o) Koristi se za vraćanje indeksa na ovom popisu posljednjeg pojavljivanja navedenog elementa ili -1 ako popis ne sadrži ovaj element.
Object[] toArray() Koristi se za vraćanje niza koji sadrži sve elemente na ovom popisu u ispravnom redoslijedu.
T[] u Niz(T[] a) Koristi se za vraćanje niza koji sadrži sve elemente na ovom popisu u ispravnom redoslijedu.
Boolean sadrži (objekt o) Vraća true ako popis sadrži navedeni element
Boolean sadržiSve (kolekcija c) Vraća true ako popis sadrži sve navedene elemente
int indexOf(Object o) Koristi se za vraćanje indeksa u ovom popisu prvog pojavljivanja navedenog elementa ili -1 ako popis ne sadrži ovaj element.
E ukloniti (indeks) Koristi se za uklanjanje elementa prisutnog na određenom mjestu na popisu.
boolean ukloniti (objekt o) Koristi se za uklanjanje prvog pojavljivanja navedenog elementa.
boolean removeAll(kolekcija c) Koristi se za uklanjanje svih elemenata s popisa.
void replaceAll(operator unaryoperator) Koristi se za zamjenu svih elemenata s liste navedenim elementom.
void retainAll(kolekcija c) Koristi se za zadržavanje svih elemenata na popisu koji su prisutni u navedenoj zbirci.
E skup (int indeks, E element) Koristi se za zamjenu navedenog elementa na popisu, prisutnog na navedenom mjestu.
prazno sortiranje (usporednik c) Koristi se za sortiranje elemenata popisa na temelju navedenog komparatora.
Spliterator spliterator() Koristi se za stvaranje spliteratora preko elemenata na popisu.
Popis subList(int fromIndex, int toIndex) Koristi se za dohvaćanje svih elemenata unutar zadanog raspona.
int size() Koristi se za vraćanje broja elemenata prisutnih na popisu.

Java List vs ArrayList

List je sučelje dok je ArrayList implementacijska klasa Liste.

Kako napraviti listu

Klase ArrayList i LinkedList pružaju implementaciju List sučelja. Pogledajmo primjere za izradu popisa:

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

Ukratko, možete stvoriti popis bilo koje vrste. Klase ArrayList i LinkedList koriste se za određivanje tipa. Ovdje T označava tip.

Primjer Java liste

Pogledajmo jednostavan primjer Liste gdje koristimo klasu ArrayList kao implementaciju.

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

Izlaz:

 Mango Apple Banana Grapes 

Kako pretvoriti polje u popis

Polje možemo pretvoriti u popis tako da pređemo niz i dodamo element na popis jedan po jedan pomoću metode list.add(). Pogledajmo jednostavan primjer pretvaranja elemenata polja u popis.

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

Izlaz:

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

Kako pretvoriti List u Array

Popis možemo pretvoriti u niz pozivom metode list.toArray(). Pogledajmo jednostavan primjer pretvaranja elemenata popisa u niz.

polje dodavanje elemenata java
 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); } } 
Testirajte sada

Izlaz:

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

Dohvati i postavi element na popisu

The metoda get(). vraća element na danom indeksu, dok set() metoda mijenja ili zamjenjuje element.

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

Izlaz:

 Returning element: Apple Mango Dates Banana Grapes 

Kako sortirati popis

Postoje različiti načini sortiranja popisa, ovdje ćemo koristiti metodu Collections.sort() za sortiranje elementa popisa. The java.util paket pruža klasu korisnosti Zbirke koji ima statičku metodu sort(). Koristiti Collections.sort() metodom, možemo lako sortirati bilo koji popis.

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

Izlaz:

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

Java ListIterator sučelje

Sučelje ListIterator koristi se za kretanje elementa u smjeru naprijed i natrag.

ListIterator Deklaracija sučelja

 public interface ListIterator extends Iterator 

Metode sučelja Java ListIterator:

metoda Opis
void add (E e) Ova metoda umeće navedeni element u popis.
booleov hasNext() Ova metoda vraća true ako iterator popisa ima više elemenata dok prelazi popisom u smjeru prema naprijed.
E sljedeći() Ova metoda vraća sljedeći element na popisu i pomiče kursor prema naprijed.
int nextIndex() Ova metoda vraća indeks elementa koji bi se vratio naknadnim pozivom next()
Boolean hasPrevious() Ova metoda vraća true ako ovaj iterator popisa ima više elemenata dok prelazi popis u obrnutom smjeru.
E prethodni() Ova metoda vraća prethodni element na popisu i pomiče poziciju kursora unatrag.
E prethodniIndeks() Ova metoda vraća indeks elementa koji bi se vratio naknadnim pozivom prethodnog().
praznina ukloniti() Ova metoda uklanja zadnji element s popisa koji su vratile metode next() ili previous().
prazan skup (E e) Ova metoda zamjenjuje zadnji element vraćen metodom next() ili previous() navedenim elementom.

Primjer sučelja 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()); } } } 

Izlaz:

 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 

Primjer popisa: knjiga

Pogledajmo primjer popisa gdje dodajemo knjige.

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

Izlaz:

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

Povezane teme

ArrayList u Javi

postaviti razdjelnik java

LinkedList u Javi

Razlika između ArrayList i LinkedList

Razlika između Array i ArrayList

Kada koristiti ArrayList i LinkedList u Javi

Razlika između ArrayList i Vector

Kako usporediti dva ArrayList-a u Javi

Kako preokrenuti ArrayList u Javi

Kada koristiti ArrayList i LinkedList u Javi

Kako napraviti ArrayList samo za čitanje

Razlika između duljine niza i size() ArrayList-a u Javi

execvp

Kako sinkronizirati ArrayList u Javi

Kako pretvoriti ArrayList u Array i Array u ArrayList u Javi

Array vs ArrayList u Javi

Kako poredati Java ArrayList silaznim redoslijedom

Kako ukloniti duplikate iz ArrayList-a u Javi