La clase LinkedList de Java forma parte del Marco de Colecciones de Java e implementa las interfaces List y Deque. Es una lista doblemente enlazada que proporciona una estructura de datos dinámica para almacenar elementos. A diferencia de las matrices, LinkedList permite insertar y eliminar elementos de forma eficaz tanto en los extremos como en el centro de la lista.
Utilización
LinkedList se utiliza cuando se necesitan inserciones y supresiones frecuentes. Es especialmente útil cuando no se conoce de antemano el tamaño de la lista o cuando hay que añadir o eliminar elementos en ambos extremos de la lista.
Type: El tipo de elementos almacenados en la lista.
linkedList: El nombre de la instancia LinkedList.
Ejemplos
Ejemplo 1: Operaciones básicas
importjava.util.LinkedList;publicclassLinkedListExample{publicstaticvoidmain(String[] args){LinkedList<String> list =newLinkedList<>();// Adding elements
list.add("Apple");
list.add("Banana");
list.add("Cherry");// Accessing elementsSystem.out.println("First element: "+ list.getFirst());System.out.println("Last element: "+ list.getLast());// Removing elements
list.removeFirst();
list.removeLast();System.out.println("List after removals: "+ list);}}Con la tecnología de
Este ejemplo demuestra operaciones básicas como añadir, acceder y eliminar elementos de un LinkedList. Añadimos tres frutas a la lista, accedemos a los elementos primero y último, y luego los eliminamos.
Ejemplo 2: Iterar a través de una lista enlazada
importjava.util.LinkedList;importjava.util.Iterator;publicclassLinkedListIteration{publicstaticvoidmain(String[] args){LinkedList<Integer> numbers =newLinkedList<>();
numbers.add(10);
numbers.add(20);
numbers.add(30);Iterator<Integer> iterator = numbers.iterator();while(iterator.hasNext()){System.out.println(iterator.next());}}}Con la tecnología de
En este ejemplo, utilizamos un Iterator para recorrer el LinkedList de enteros. La página Iterator proporciona una forma de acceder a cada elemento secuencialmente.
Ejemplo 3: Utilizar LinkedList como cola
importjava.util.LinkedList;importjava.util.Queue;publicclassLinkedListAsQueue{publicstaticvoidmain(String[] args){Queue<String> queue =newLinkedList<>();// Enqueue elements
queue.add("First");
queue.add("Second");
queue.add("Third");// Dequeue elementsSystem.out.println("Removed: "+ queue.poll());System.out.println("Queue after removal: "+ queue);}}Con la tecnología de
Aquí, LinkedList se utiliza como Queue. Los elementos se añaden con add() y se eliminan con poll(), demostrando el comportamiento FIFO (primero en entrar, primero en salir).
Consejos y buenas prácticas
Cuándo utilizarlo: Utiliza LinkedList cuando necesites inserciones y supresiones frecuentes, especialmente al principio o al final de la lista.
Consideración del rendimiento: LinkedList tiene una sobrecarga mayor que ArrayList para acceder a los elementos por índice, debido a su naturaleza de acceso secuencial.
Elementos nulos: LinkedList permite elementos null, por lo que maneja posibles escenarios NullPointerException.
Seguridad de los hilos: LinkedList no está sincronizado. Utiliza Collections.synchronizedList(new LinkedList<>()) para operaciones seguras.
Operaciones Deque: Utiliza LinkedList como Deque para operaciones de doble cola, como addFirst(), addLast(), removeFirst() y removeLast().
La clase
LinkedListde Java forma parte del Marco de Colecciones de Java e implementa las interfacesListyDeque. Es una lista doblemente enlazada que proporciona una estructura de datos dinámica para almacenar elementos. A diferencia de las matrices,LinkedListpermite insertar y eliminar elementos de forma eficaz tanto en los extremos como en el centro de la lista.Utilización
LinkedListse utiliza cuando se necesitan inserciones y supresiones frecuentes. Es especialmente útil cuando no se conoce de antemano el tamaño de la lista o cuando hay que añadir o eliminar elementos en ambos extremos de la lista.Syntax
Type: El tipo de elementos almacenados en la lista.linkedList: El nombre de la instanciaLinkedList.Ejemplos
Ejemplo 1: Operaciones básicas
Este ejemplo demuestra operaciones básicas como añadir, acceder y eliminar elementos de un
LinkedList. Añadimos tres frutas a la lista, accedemos a los elementos primero y último, y luego los eliminamos.Ejemplo 2: Iterar a través de una lista enlazada
En este ejemplo, utilizamos un
Iteratorpara recorrer elLinkedListde enteros. La páginaIteratorproporciona una forma de acceder a cada elemento secuencialmente.Ejemplo 3: Utilizar LinkedList como cola
Aquí,
LinkedListse utiliza comoQueue. Los elementos se añaden conadd()y se eliminan conpoll(), demostrando el comportamiento FIFO (primero en entrar, primero en salir).Consejos y buenas prácticas
LinkedListcuando necesites inserciones y supresiones frecuentes, especialmente al principio o al final de la lista.LinkedListtiene una sobrecarga mayor queArrayListpara acceder a los elementos por índice, debido a su naturaleza de acceso secuencial.LinkedListpermite elementosnull, por lo que maneja posibles escenariosNullPointerException.LinkedListno está sincronizado. UtilizaCollections.synchronizedList(new LinkedList<>())para operaciones seguras.LinkedListcomoDequepara operaciones de doble cola, comoaddFirst(),addLast(),removeFirst()yremoveLast().