En este tutorial, aprenderemos sobre la interfaz List en Java y sus métodos.
En Java, la List
interfaz es una colección ordenada que nos permite almacenar y acceder a elementos de forma secuencial. Extiende la Collection
interfaz.
Clases que implementan la lista
Dado que List
es una interfaz, no podemos crear objetos a partir de ella.
Para utilizar las funcionalidades de la List
interfaz, podemos utilizar estas clases:
- Lista de arreglo
- Lista enlazada
- Vector
- Apilar
Estas clases se definen en el marco de Colecciones e implementan la List
interfaz.
¿Cómo usar List?
En Java, debemos importar el java.util.List
paquete para poder usar List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Aquí, hemos creado los objetos list1 y list2 de clases ArrayList
y LinkedList
. Estos objetos pueden utilizar las funcionalidades de la List
interfaz.
Métodos de lista
La List
interfaz incluye todos los métodos de la Collection
interfaz. Es porque Collection
es una super interfaz de List
.
Algunos de los métodos más utilizados de la Collection
interfaz que también están disponibles en la List
interfaz son:
add()
- agrega un elemento a una listaaddAll()
- agrega todos los elementos de una lista a otraget()
- ayuda a acceder aleatoriamente a elementos de listasiterator()
- devuelve un objeto iterador que se puede usar para acceder secuencialmente a elementos de listasset()
- cambia elementos de listasremove()
- elimina un elemento de la listaremoveAll()
- elimina todos los elementos de la listaclear()
- elimina todos los elementos de la lista (más eficiente queremoveAll()
)size()
- devuelve la longitud de las listastoArray()
- convierte una lista en una matrizcontains()
- devuelvetrue
si una lista contiene un elemento especificado
Implementación de la interfaz de lista
1. Implementación de la clase ArrayList
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Salida
Lista: (1, 2, 3) Elemento accedido: 3 Elemento eliminado: 2
Para obtener más información ArrayList
, visite Java ArrayList.
2. Implementación de la clase LinkedList
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Salida
Lista: (1, 2, 3) Elemento accedido: 3 La posición de 3 es 1 Elemento eliminado: 2
Para obtener más información LinkedList
, visite Java LinkedList.
Lista de Java frente a conjunto
Tanto la List
interfaz como la Set
interfaz heredan la Collection
interfaz. Sin embargo, existe alguna diferencia entre ellos.
- Las listas pueden incluir elementos duplicados. Sin embargo, los conjuntos no pueden tener elementos duplicados.
- Los elementos de las listas se almacenan en algún orden. Sin embargo, los elementos en conjuntos se almacenan en grupos como conjuntos en matemáticas.
Ahora que sabemos qué List
es, veremos en detalle sus implementaciones ArrayList
y LinkedList
clases en los próximos tutoriales.