logo

Llista Java

Llista en Java proporciona la facilitat per mantenir el recollida ordenada . Conté els mètodes basats en índexs per inserir, actualitzar, eliminar i cercar els elements. També pot tenir els elements duplicats. També podem emmagatzemar els elements nuls a la llista.

La interfície de llista es troba a l'java.utilpaquet i hereta la interfície Col·lecció. És una fàbrica de la interfície ListIterator. Mitjançant el ListIterator, podem iterar la llista en direccions cap endavant i cap enrere. Les classes d'implementació de la interfície List sónArrayList,LinkedList, Pila i Vector. ArrayList i LinkedList s'utilitzen àmpliament en programació Java. La classe Vector està obsoleta des de Java 5.

Declaració de la interfície de llista

 public interface List extends Collection 

Mètodes de llista de Java

Mètode Descripció
void add (índex int, element E) S'utilitza per inserir l'element especificat a la posició especificada en una llista.
suma booleana (E e) S'utilitza per afegir l'element especificat al final d'una llista.
booleà addAll(Col·lecció c) S'utilitza per afegir tots els elements de la col·lecció especificada al final d'una llista.
booleà addAll(índex int, col·lecció c) S'utilitza per afegir tots els elements de la col·lecció especificada, començant per la posició especificada de la llista.
buit clar () S'utilitza per eliminar tots els elements d'aquesta llista.
booleà iguals (Objecte o) S'utilitza per comparar l'objecte especificat amb els elements d'una llista.
int hashcode () S'utilitza per retornar el valor del codi hash per a una llista.
E get(índex int) S'utilitza per obtenir l'element des de la posició concreta de la llista.
booleà és buit () Retorna true si la llista està buida, en cas contrari és fals.
int lastIndexOf(Objecte o) S'utilitza per retornar l'índex en aquesta llista de la darrera ocurrència de l'element especificat, o -1 si la llista no conté aquest element.
Objecte[] toArray() S'utilitza per retornar una matriu que conté tots els elements d'aquesta llista en l'ordre correcte.
T[] toArray(T[] a) S'utilitza per retornar una matriu que conté tots els elements d'aquesta llista en l'ordre correcte.
booleà conté (Objecte o) Retorna true si la llista conté l'element especificat
booleà contéAll (Col·lecció c) Retorna true si la llista conté tot l'element especificat
int indexOf(Objecte o) S'utilitza per retornar l'índex en aquesta llista de la primera ocurrència de l'element especificat, o -1 si la llista no conté aquest element.
E elimina (índex int) S'utilitza per eliminar l'element present a la posició especificada de la llista.
eliminar booleà (Objecte o) S'utilitza per eliminar la primera ocurrència de l'element especificat.
booleà removeAll (Col·lecció c) S'utilitza per eliminar tots els elements de la llista.
void replaceAll (operador UnaryOperator) S'utilitza per substituir tots els elements de la llista amb l'element especificat.
void retainAll(Col·lecció c) S'utilitza per retenir tots els elements de la llista que estan presents a la col·lecció especificada.
Conjunt E (índex int, element E) S'utilitza per substituir l'element especificat a la llista, present a la posició especificada.
void sort (comparador c) S'utilitza per ordenar els elements de la llista en funció del comparador especificat.
Divisor divisor divisor () S'utilitza per crear un divisor sobre els elements d'una llista.
Llista subLlista (int de l'índex, int a l'índex) S'utilitza per obtenir tots els elements que es troben dins de l'interval donat.
mida int () S'utilitza per retornar el nombre d'elements presents a la llista.

Llista Java vs ArrayList

List és una interfície mentre que ArrayList és la classe d'implementació de List.

Com crear una llista

Les classes ArrayList i LinkedList proporcionen la implementació de la interfície List. Vegem els exemples per crear la llista:

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

En resum, podeu crear la llista de qualsevol tipus. Les classes ArrayList i LinkedList s'utilitzen per especificar el tipus. Aquí, T indica el tipus.

Exemple de llista Java

Vegem un exemple senzill de List on estem utilitzant la classe ArrayList com a implementació.

 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); } } 
Prova-ho ara

Sortida:

 Mango Apple Banana Grapes 

Com convertir Array a List

Podem convertir la matriu en llista travessant la matriu i afegint l'element a la llista un per un mitjançant el mètode list.add(). Vegem un exemple senzill per convertir elements de la matriu a List.

 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); } } 
Prova-ho ara

Sortida:

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

Com convertir List a Array

Podem convertir la llista en matriu cridant al mètode list.toArray(). Vegem un exemple senzill per convertir elements de llista en matriu.

com recuperar aplicacions ocultes
 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); } } 
Prova-ho ara

Sortida:

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

Obtenir i establir l'element a la llista

El mètode get(). retorna l'element a l'índex donat, mentre que el mètode set(). canvia o substitueix l'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); } } 
Prova-ho ara

Sortida:

 Returning element: Apple Mango Dates Banana Grapes 

Com ordenar la llista

Hi ha diverses maneres d'ordenar la llista, aquí utilitzarem el mètode Collections.sort() per ordenar l'element de la llista. El java.util paquet proporciona una classe d'utilitat Col·leccions que té el mètode estàtic sort(). Utilitzant el Collections.sort() mètode, podem ordenar fàcilment qualsevol llista.

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

Sortida:

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

Interfície Java ListIterator

La interfície ListIterator s'utilitza per recórrer l'element en una direcció cap enrere i cap endavant.

Declaració de la interfície ListIterator

 public interface ListIterator extends Iterator 

Mètodes de la interfície Java ListIterator:

Mètode Descripció
afegir nul (E e) Aquest mètode insereix l'element especificat a la llista.
booleà hasNext() Aquest mètode retorna true si l'iterador de llista té més elements mentre recorre la llista en la direcció cap endavant.
E següent() Aquest mètode retorna el següent element de la llista i avança la posició del cursor.
int nextIndex() Aquest mètode retorna l'índex de l'element que tornaria una crida posterior a next()
booleà té l'anterior () Aquest mètode retorna true si aquest iterador de llista té més elements mentre recorre la llista en sentit invers.
E anterior() Aquest mètode retorna l'element anterior de la llista i mou la posició del cursor cap enrere.
E índex anterior() Aquest mètode retorna l'índex de l'element que tornaria una crida posterior a previous().
void remove () Aquest mètode elimina l'últim element de la llista que va ser retornat pels mètodes next() o previous().
conjunt buit (E e) Aquest mètode substitueix l'últim element retornat pels mètodes next() o previous() per l'element especificat.

Exemple de la interfície 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()); } } } 

Sortida:

 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 

Exemple de llista: llibre

Vegem un exemple de Llista on estem afegint els Llibres.

 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); } } } 
Prova-ho ara

Sortida:

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

Temes relacionats

ArrayList en Java

LinkedList a Java

Diferència entre ArrayList i LinkedList

convertir nfa en dfa

Diferència entre Array i ArrayList

Quan utilitzar ArrayList i LinkedList a Java

Diferència entre ArrayList i Vector

mysql canvia el tipus de columna

Com comparar dues ArrayList a Java

Com invertir ArrayList a Java

Quan utilitzar ArrayList i LinkedList a Java

Com fer que ArrayList només sigui de lectura

Diferència entre la longitud de la matriu i la mida () de ArrayList a Java

Com sincronitzar ArrayList a Java

Com convertir ArrayList a Array i Array a ArrayList en java

Array vs ArrayList a Java

Com ordenar Java ArrayList en ordre descendent

Com eliminar els duplicats de ArrayList a Java