Cómo implementar una clase LinkedList desde cero en Java

Publicado: 2013-06-19
Tutorial de implementación de Crunchify Java LinkedList

Si en realidad está construyendo un sistema de producción real, entonces sí, normalmente solo usaría las cosas en la biblioteca estándar si lo que necesita está disponible allí. Dicho esto, no pienses en esto como un ejercicio sin sentido.

Es bueno comprender cómo funcionan las cosas, y understanding linked lists es un paso importante para comprender estructuras de datos más complejas, muchas de las cuales no existen en las bibliotecas estándar.

Hay algunas diferencias entre la forma en que está creando una lista vinculada y la forma en que lo hace la API de colecciones de Java.

La API de colecciones intenta adherirse a una interfaz más complicada. Tu LinkedList siempre tendrá al menos un elemento.

Con este tipo de configuración, usaría nulo cuando necesite una lista vacía. Piense en "siguiente" como "el resto de la lista". De hecho, muchas personas lo llamarían tail en lugar de "siguiente".

Aquí hay un diagrama de una LinkedList individual:

Ejemplo de lista enlazada individual de Crunchify

Otro debe leer:

  • ¿Cómo iterar a través de la instancia de LinkedList en Java?
  • Java: ¿Cómo encontrar el elemento medio de LinkedList?

¿Cuál es la mejor manera de hacer una lista enlazada en Java desde cero?

Bueno, aquí hay una implementación más simple de LinkedList Class en Java.

LinkedList en Java desde cero - Crunchify Tutorial

Pocas cosas:

Aquí estamos inicializando Node solo mientras adding 1st element .

Resultado:

Las mejoras a esta implementación incluyen convertirla en una double-linked list , agregar métodos para insert y delete desde el medio o el final, y también agregar métodos de get y sort .

Respuesta referenciada de Stack Overflow por Laurence Gonsalves. Puede que le interese la lista de todos los tutoriales de Java.