Lista en Java proporciona la posibilidad de mantener el recogida ordenada . Contiene los métodos basados en índices para insertar, actualizar, eliminar y buscar elementos. También puede tener elementos duplicados. También podemos almacenar los elementos nulos en la lista.
La interfaz Lista se encuentra en lajava.utilpaquete y hereda la interfaz de Colección. Es una fábrica de la interfaz ListIterator. A través de ListIterator, podemos iterar la lista hacia adelante y hacia atrás. Las clases de implementación de la interfaz List sonLista de arreglo,Lista enlazada, Pila y Vector. ArrayList y LinkedList se utilizan ampliamente en la programación Java. La clase Vector está en desuso desde Java 5.
Declaración de interfaz de lista
public interface List extends Collection
Métodos de lista de Java
Método | Descripción | |
---|---|---|
agregar vacío (índice int, elemento E) | Se utiliza para insertar el elemento especificado en la posición especificada en una lista. | |
suma booleana (E e) | Se utiliza para agregar el elemento especificado al final de una lista. | |
booleano addAll (Colección c) | Se utiliza para agregar todos los elementos de la colección especificada al final de una lista. | |
booleano addAll(índice int, Colección c) | Se utiliza para agregar todos los elementos de la colección especificada, comenzando en la posición especificada de la lista. | |
vacío claro() | Se utiliza para eliminar todos los elementos de esta lista. | |
booleano es igual (Objeto o) | Se utiliza para comparar el objeto especificado con los elementos de una lista. | |
int código hash() | Se utiliza para devolver el valor del código hash de una lista. | |
E obtener (índice int) | Se utiliza para buscar el elemento desde una posición particular de la lista. | |
booleano está vacío() | Devuelve verdadero si la lista está vacía; en caso contrario, falso. | |
int último índice de (objeto o) | Se utiliza para devolver el índice en esta lista de la última aparición del elemento especificado, o -1 si la lista no contiene este elemento. | |
Objeto[] toArray() | Se utiliza para devolver una matriz que contiene todos los elementos de esta lista en el orden correcto. | |
T[] aArray(T[] a) | Se utiliza para devolver una matriz que contiene todos los elementos de esta lista en el orden correcto. | |
booleano contiene (Objeto o) | Devuelve verdadero si la lista contiene el elemento especificado. | |
booleano contieneTodo(Colección c) | Devuelve verdadero si la lista contiene todos los elementos especificados. | |
int indexOf(Objeto o) | Se utiliza para devolver el índice en esta lista de la primera aparición del elemento especificado, o -1 si la Lista no contiene este elemento. | |
E eliminar (índice int) | Se utiliza para eliminar el elemento presente en la posición especificada en la lista. | |
booleano eliminar (Objeto o) | Se utiliza para eliminar la primera aparición del elemento especificado. | |
booleano eliminarTodo(Colección c) | Se utiliza para eliminar todos los elementos de la lista. | |
void replaceAll (operador UnaryOperator) | Se utiliza para reemplazar todos los elementos de la lista con el elemento especificado. | |
anular retener todo (Colección c) | Se utiliza para conservar todos los elementos de la lista que están presentes en la colección especificada. | |
Conjunto E (índice int, elemento E) | Se utiliza para reemplazar el elemento especificado en la lista, presente en la posición especificada. | |
clasificación vacía (Comparador c) | Se utiliza para ordenar los elementos de la lista según el comparador especificado. | |
divisor divisor() | Se utiliza para crear un divisor sobre los elementos de una lista. | |
Lista subLista(int fromIndex, int toIndex) | Se utiliza para buscar todos los elementos que se encuentran dentro del rango dado. | |
tamaño entero() | Se utiliza para devolver la cantidad de elementos presentes en la lista. |
Lista de Java frente a ArrayList
List es una interfaz, mientras que ArrayList es la clase de implementación de List.
Cómo crear una lista
Las clases ArrayList y LinkedList proporcionan la implementación de la interfaz List. Veamos los ejemplos para crear la Lista:
//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 resumen, puedes crear la Lista de cualquier tipo. Las clases ArrayList y LinkedList se utilizan para especificar el tipo. Aquí, T denota el tipo.
Ejemplo de lista de Java
Veamos un ejemplo simple de List donde usamos la clase ArrayList como implementación.
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); } }Pruébalo ahora
Producción:
Mango Apple Banana Grapes
Cómo convertir una matriz a una lista
Podemos convertir la matriz en lista atravesando la matriz y agregando el elemento en la lista uno por uno usando el método list.add(). Veamos un ejemplo sencillo para convertir elementos de una matriz en Lista.
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); } }Pruébalo ahora
Producción:
Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++]
Cómo convertir lista a matriz
Podemos convertir List a Array llamando al método list.toArray(). Veamos un ejemplo sencillo para convertir elementos de una lista en una matriz.
descargar xvideoservicethief ubuntu 14.04
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); } }Pruébalo ahora
Producción:
Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry]
Obtener y establecer elemento en la lista
El método obtener() devuelve el elemento en el índice dado, mientras que el método establecer () cambia o reemplaza el elemento.
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); } }Pruébalo ahora
Producción:
para cada texto mecanografiado
Returning element: Apple Mango Dates Banana Grapes
Cómo ordenar la lista
Hay varias formas de ordenar la Lista, aquí usaremos el método Collections.sort() para ordenar el elemento de la lista. El java.util El paquete proporciona una clase de utilidad. Colecciones que tiene el método estático sort(). Utilizando el Colecciones.sort() método, podemos ordenar fácilmente cualquier Lista.
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); } }
Producción:
Apple Banana Grapes Mango Sorting numbers... 1 11 21 51
Interfaz Java ListIterator
La interfaz ListIterator se utiliza para atravesar el elemento hacia adelante y hacia atrás.
Declaración de interfaz ListIterator
public interface ListIterator extends Iterator
Métodos de la interfaz Java ListIterator:
Método | Descripción |
---|---|
anular añadir(E e) | Este método inserta el elemento especificado en la lista. |
booleano tieneSiguiente() | Este método devuelve verdadero si el iterador de la lista tiene más elementos mientras recorre la lista hacia adelante. |
mi siguiente() | Este método devuelve el siguiente elemento de la lista y avanza la posición del cursor. |
int índicesiguiente() | Este método devuelve el índice del elemento que sería devuelto por una llamada posterior a next() |
booleano tieneAnterior() | Este método devuelve verdadero si este iterador de lista tiene más elementos mientras recorre la lista en dirección inversa. |
mi anterior() | Este método devuelve el elemento anterior de la lista y mueve la posición del cursor hacia atrás. |
E índice anterior() | Este método devuelve el índice del elemento que sería devuelto por una llamada posterior a anterior(). |
eliminación nula() | Este método elimina el último elemento de la lista que fue devuelto por los métodos next() o anterior() |
conjunto vacío (E e) | Este método reemplaza el último elemento devuelto por los métodos next() o anterior() con el elemento especificado. |
Ejemplo de interfaz 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()); } } }
Producción:
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
Ejemplo de lista: libro
Veamos un ejemplo de Lista donde estamos agregando los Libros.
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); } } }Pruébalo ahora
Producción:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6
Temas relacionados
Diferencia entre ArrayList y LinkedList
Diferencia entre matriz y ArrayList
Cuándo usar ArrayList y LinkedList en Java
Diferencia entre ArrayList y Vector
Cómo comparar dos ArrayList en Java
Cómo revertir ArrayList en Java
Cuándo usar ArrayList y LinkedList en Java
Cómo hacer que ArrayList sea de solo lectura
Diferencia entre la longitud de la matriz y el tamaño () de ArrayList en Java
Cómo sincronizar ArrayList en Java
métodos de lista de matrices
Cómo convertir ArrayList a Array y Array a ArrayList en Java
Matriz vs ArrayList en Java
Cómo ordenar Java ArrayList en orden descendente
Cómo eliminar duplicados de ArrayList en Java