La clase Java LinkedList utiliza una lista doblemente enlazada para almacenar los elementos. Proporciona una estructura de datos de lista vinculada. Hereda la clase AbstractList e implementa las interfaces List y Deque.
Los puntos importantes sobre Java LinkedList son:
- La clase Java LinkedList puede contener elementos duplicados.
- La clase Java LinkedList mantiene el orden de inserción.
- La clase Java LinkedList no está sincronizada.
- En la clase Java LinkedList, la manipulación es rápida porque no es necesario que se produzcan cambios.
- La clase Java LinkedList se puede utilizar como lista, pila o cola.
Jerarquía de la clase LinkedList
Como se muestra en el diagrama anterior, la clase Java LinkedList extiende la clase AbstractSequentialList e implementa las interfaces List y Deque.
comparación de cadenas en java
Lista doblemente enlazada
En el caso de una lista doblemente enlazada, podemos agregar o quitar elementos de ambos lados.
Declaración de clase LinkedList
Veamos la declaración de la clase java.util.LinkedList.
public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable
Constructores de Java LinkedList
| Constructor | Descripción |
|---|---|
| Lista enlazada() | Se utiliza para construir una lista vacía. |
| ListaEnlazada(Colección c) | Se utiliza para construir una lista que contiene los elementos de la colección especificada, en el orden en que los devuelve el iterador de la colección. |
Métodos de Java LinkedList
| Método | Descripción |
|---|---|
| suma booleana (E e) | Se utiliza para agregar el elemento especificado al final de una lista. |
| agregar vacío (índice int, elemento E) | Se utiliza para insertar el elemento especificado en el índice de posición especificado en una lista. |
| booleano addAll (Colección c) | Se utiliza para agregar todos los elementos de la colección especificada al final de esta lista, en el orden en que los devuelve el iterador de la colección especificada. |
| booleano addAll (Colección c) | Se utiliza para agregar todos los elementos de la colección especificada al final de esta lista, en el orden en que los devuelve el iterador de la colección especificada. |
| 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. |
| anular agregarPrimero(E e) | Se utiliza para insertar el elemento dado al principio de una lista. |
| anular agregarLast(E e) | Se utiliza para agregar el elemento dado al final de una lista. |
| vacío claro() | Se utiliza para eliminar todos los elementos de una lista. |
| Clon de objeto() | Se utiliza para devolver una copia superficial de un ArrayList. |
| booleano contiene (Objeto o) | Se utiliza para devolver verdadero si una lista contiene un elemento específico. |
| Iterador descendenteIterador() | Se utiliza para devolver un iterador sobre los elementos de una deque en orden secuencial inverso. |
| elemento E() | Se utiliza para recuperar el primer elemento de una lista. |
| E obtener (índice int) | Se utiliza para devolver el elemento en la posición especificada en una lista. |
| E obtenerPrimero() | Se utiliza para devolver el primer elemento de una lista. |
| E obtenerLast() | Se utiliza para devolver el último elemento de una lista. |
| int indexOf(Objeto o) | Se utiliza para devolver el índice en una lista de la primera aparición del elemento especificado, o -1 si la lista no contiene ningún elemento. |
| int último índice de (objeto o) | Se utiliza para devolver el índice en una lista de la última aparición del elemento especificado, o -1 si la lista no contiene ningún elemento. |
| ListIterator listIterator (índice int) | Se utiliza para devolver un iterador de lista de elementos en la secuencia adecuada, comenzando en la posición especificada en la lista. |
| oferta booleana (E e) | Agrega el elemento especificado como el último elemento de una lista. |
| oferta booleanaPrimero(E e) | Inserta el elemento especificado al principio de una lista. |
| oferta booleanaÚltima(E e) | Inserta el elemento especificado al final de una lista. |
| E vistazo() | Recupera el primer elemento de una lista. |
| E vistazo primero() | Recupera el primer elemento de una lista o devuelve nulo si una lista está vacía. |
| E vistazoÚltimo() | Recupera el último elemento de una lista o devuelve nulo si una lista está vacía. |
| encuesta electrónica() | Recupera y elimina el primer elemento de una lista. |
| Encuesta EPrimera() | Recupera y elimina el primer elemento de una lista, o devuelve nulo si una lista está vacía. |
| E encuestaLast() | Recupera y elimina el último elemento de una lista, o devuelve nulo si una lista está vacía. |
| Y pop() | Extrae un elemento de la pila representado por una lista. |
| empuje vacío (E e) | Empuja un elemento a la pila representada por una lista. |
| mi eliminar() | Se utiliza para recuperar y eliminar el primer elemento de una lista. |
| E eliminar (índice int) | Se utiliza para eliminar el elemento en la posición especificada en una lista. |
| booleano eliminar (Objeto o) | Se utiliza para eliminar la primera aparición del elemento especificado en una lista. |
| E eliminarPrimero() | Elimina y devuelve el primer elemento de una lista. |
| booleano eliminarPrimeraOcurrencia(Objeto o) | Se utiliza para eliminar la primera aparición del elemento especificado en una lista (al recorrer la lista de principio a fin). |
| E eliminarÚltimo() | Elimina y devuelve el último elemento de una lista. |
| booleano eliminarLastOccurrence(Objeto o) | Elimina la última aparición del elemento especificado en una lista (al recorrer la lista de principio a fin). |
| Conjunto E (índice int, elemento E) | Reemplaza el elemento en la posición especificada en una lista con el elemento especificado. |
| Objeto[] toArray() | Se utiliza para devolver una matriz que contiene todos los elementos de una lista en la secuencia adecuada (del primero al último elemento). |
| T[] aArray(T[] a) | Devuelve una matriz que contiene todos los elementos en la secuencia adecuada (del primero al último elemento); el tipo de tiempo de ejecución de la matriz devuelta es el de la matriz especificada. |
| tamaño entero() | Se utiliza para devolver el número de elementos de una lista. |
Ejemplo de lista enlazada de Java
import java.util.*; public class LinkedList1{ public static void main(String args[]){ LinkedList al=new LinkedList(); al.add('Ravi'); al.add('Vijay'); al.add('Ravi'); al.add('Ajay'); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } Output: Ravi Vijay Ravi Ajay
Ejemplo de Java LinkedList para agregar elementos
Aquí vemos diferentes formas de agregar elementos.
import java.util.*; public class LinkedList2{ public static void main(String args[]){ LinkedList ll=new LinkedList(); System.out.println('Initial list of elements: '+ll); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); System.out.println('After invoking add(E e) method: '+ll); //Adding an element at the specific position ll.add(1, 'Gaurav'); System.out.println('After invoking add(int index, E element) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Sonoo'); ll2.add('Hanumat'); //Adding second list elements to the first list ll.addAll(ll2); System.out.println('After invoking addAll(Collection c) method: '+ll); LinkedList ll3=new LinkedList(); ll3.add('John'); ll3.add('Rahul'); //Adding second list elements to the first list at specific position ll.addAll(1, ll3); System.out.println('After invoking addAll(int index, Collection c) method: '+ll); //Adding an element at the first position ll.addFirst('Lokesh'); System.out.println('After invoking addFirst(E e) method: '+ll); //Adding an element at the last position ll.addLast('Harsh'); System.out.println('After invoking addLast(E e) method: '+ll); } } Initial list of elements: [] After invoking add(E e) method: [Ravi, Vijay, Ajay] After invoking add(int index, E element) method: [Ravi, Gaurav, Vijay, Ajay] After invoking addAll(Collection c) method: [Ravi, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addAll(int index, Collection c) method: [Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addFirst(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat] After invoking addLast(E e) method: [Lokesh, Ravi, John, Rahul, Gaurav, Vijay, Ajay, Sonoo, Hanumat, Harsh]
Ejemplo de Java LinkedList para eliminar elementos
Aquí vemos diferentes formas de eliminar un elemento.
import java.util.*; public class LinkedList3 { public static void main(String [] args) { LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); ll.add('Anuj'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Virat'); ll.add('Gaurav'); ll.add('Harsh'); ll.add('Amit'); System.out.println('Initial list of elements: '+ll); //Removing specific element from arraylist ll.remove('Vijay'); System.out.println('After invoking remove(object) method: '+ll); //Removing element on the basis of specific position ll.remove(0); System.out.println('After invoking remove(index) method: '+ll); LinkedList ll2=new LinkedList(); ll2.add('Ravi'); ll2.add('Hanumat'); // Adding new elements to arraylist ll.addAll(ll2); System.out.println('Updated list : '+ll); //Removing all the new elements from arraylist ll.removeAll(ll2); System.out.println('After invoking removeAll() method: '+ll); //Removing first element from the list ll.removeFirst(); System.out.println('After invoking removeFirst() method: '+ll); //Removing first element from the list ll.removeLast(); System.out.println('After invoking removeLast() method: '+ll); //Removing first occurrence of element from the list ll.removeFirstOccurrence('Gaurav'); System.out.println('After invoking removeFirstOccurrence() method: '+ll); //Removing last occurrence of element from the list ll.removeLastOccurrence('Harsh'); System.out.println('After invoking removeLastOccurrence() method: '+ll); //Removing all the elements available in the list ll.clear(); System.out.println('After invoking clear() method: '+ll); } } Initial list of elements: [Ravi, Vijay, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(object) method: [Ravi, Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking remove(index) method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] Updated list : [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit, Ravi, Hanumat] After invoking removeAll() method: [Ajay, Anuj, Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeFirst() method: [Gaurav, Harsh, Virat, Gaurav, Harsh, Amit] After invoking removeLast() method: [Gaurav, Harsh, Virat, Gaurav, Harsh] After invoking removeFirstOccurrence() method: [Harsh, Virat, Gaurav, Harsh] After invoking removeLastOccurrence() method: [Harsh, Virat, Gaurav] After invoking clear() method: []
Ejemplo de Java LinkedList para invertir una lista de elementos
import java.util.*; public class LinkedList4{ public static void main(String args[]){ LinkedList ll=new LinkedList(); ll.add('Ravi'); ll.add('Vijay'); ll.add('Ajay'); //Traversing the list of elements in reverse order Iterator i=ll.descendingIterator(); while(i.hasNext()) { System.out.println(i.next()); } } } Output: Ajay Vijay Ravi
Ejemplo de lista enlazada de Java: libro
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 LinkedListExample { public static void main(String[] args) { //Creating list of Books List list=new LinkedList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & 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); } } } Producción:
10 de 100.00
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6