Post

Lista enlazada

Lista enlazada

En el post anterior, aprendiste sobre la clase ArrayList. La clase LinkedList es casi idéntica a la ArrayList:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import java.util.LinkedList;

public class main{
  public static void main(String[] args){
    LinkedList<String>coches = new LinkedList<String>();

    coches.add("Jaguar");
    coches.add("Ford");
    coches.add("BMW");
    coches.add("Porche");
    coches.add("Ferrari");

    System.out.println(coches);
  }
}

ArrayList vs. LinkedList

La clase LinkedList es una colección que puede contener muchos objetos del mismo tipo, al igual que la clase ArrayList.

La clase LinkedList tiene los mismos métodos que la clase ArrayList porque ambas implementan la interfaz List. Esto significa que puedes añadir elementos, cambiar elementos, eliminar elementos y borrar la lista de la misma manera.

Sin embargo, aunque la clase ArrayList y la clase LinkedList se pueden utilizar de la misma manera, están construidas de forma muy diferente.

Cómo funciona ArrayList

La clase ArrayList tiene un array normal dentro de ella. Cuando se añade un elemento, se coloca en el array. Si el array no es lo suficientemente grande, se crea un nuevo array más grande para reemplazar al anterior y se elimina el anterior.

Funcionamiento de LinkedList

La LinkedList almacena sus elementos en “contenedores”. La lista tiene un enlace al primer contenedor y cada contenedor tiene un enlace al siguiente contenedor de la lista. Para añadir un elemento a la lista, el elemento se coloca en un nuevo contenedor y ese contenedor se enlaza con uno de los otros contenedores de la lista.

Utiliza un ArrayList para almacenar y acceder a datos, y LinkedList para manipular datos.

Métodos de lista vinculada

Para muchos casos, el ArrayList es más eficiente ya que es común necesitar acceso a elementos aleatorios en la lista, pero el LinkedList proporciona varios métodos para hacer ciertos operaciones más eficientemente:

MétodoDescripción
addFirst()Añade un elemento al principio de la lista
addLast()Añade un elemento al final de la lista
removeFirst()Elimina un elemento del principio de la lista
removeLast()Elimina un elemento del final de la lista
getFirst()Obtiene el elemento al principio de la lista
getLast()Obtiene el elemento al final de la lista
This post is licensed under CC BY 4.0 by the author.