Introducción al uso de listas vinculadas en Java

Introducción al uso de listas vinculadas en Java

Una estructura de datos utiliza diferentes métodos predefinidos para almacenar, recuperar y eliminar datos que culminan en la creación de programas eficientes. Una lista vinculada es una estructura de datos popular, que consiste en una lista de nodos que están conectados (o vinculados).





Pero, ¿cómo se crea una lista vinculada en Java? Vamos a ver.





¿Cómo funciona una lista vinculada?

Cada lista vinculada comienza con un nodo especial al que a menudo se hace referencia como el 'encabezado', que tiene la responsabilidad de señalar el inicio de la lista en todo momento. La cabeza es importante porque cada nodo en una lista vinculada no necesita seguir físicamente a su sucesor (lo que significa que un predecesor y un sucesor no tienen que estar físicamente adyacentes).





Como toda estructura de datos, la lista enlazada facilita la creación, recuperación, inserción y destrucción a través de un conjunto de funciones predefinidas que pueden ser utilizadas por cualquier desarrollador.

Crear una lista vinculada en Java

Un programa Java diseñado para crear y manipular listas enlazadas tendrá tres secciones distintivas; la clase de nodo, la clase de lista vinculada y el controlador. Aunque estas tres secciones se pueden combinar en un archivo, existe un principio de diseño en ciencias de la computación conocido como 'separación de preocupaciones' que todo desarrollador debería conocer.



El principio de separación de preocupaciones dicta que cada sección del código que aborde una preocupación específica debe estar separada. Este principio le ayudará a crear un código más limpio (más legible) y es ideal para crear estructuras de datos.

El primer paso para crear una lista vinculada en Java es crear una clase de nodo. Una clase de nodo debe tener dos atributos; uno de los atributos representará la parte de datos del nodo, mientras que el otro atributo representará la parte vinculada. Una clase de nodo también debe tener un constructor, captadores y definidores.





Relacionado: Aprenda a crear clases en Java

Los captadores y definidores permitirán que otras clases (como la clase de lista vinculada) accedan a los distintos nodos dentro de la lista vinculada.





Ejemplo de clase de nodo

A continuación se muestra un ejemplo de clase de nodo para que se haga una idea de lo que queremos decir:

|_+_|

En este ejemplo, el atributo de datos almacenará valores enteros. Ahora que tiene la clase de nodo, es hora de pasar a la lista vinculada.

Ejemplo de lista vinculada

A continuación se muestra un ejemplo de una lista vinculada en Java.

|_+_|

El código anterior creará una clase de lista vinculada, sin embargo, sin sus diversas operaciones, la clase puede verse como el equivalente de un shell vacío. La estructura de datos de la lista vinculada tiene varias operaciones que se pueden utilizar para completarla:

  • Insertar en la parte delantera.
  • Insertar en el medio.
  • Insertar en la espalda.

Relacionado: Cómo construir estructuras de datos con clases de JavaScript ES6

La colección de listas vinculadas de métodos de inserción es una de las razones por las que un desarrollador puede optar por usar esta estructura de datos sobre otra estructura de datos, como pilas (que solo permite la inserción y eliminación desde la parte superior).

Uso del método Insertar en el frente

El método de inserción en el frente, como sugiere el nombre, inserta nuevos datos (o nuevos nodos) al comienzo de la lista vinculada.

Ejemplo de método Insertar en el frente

A continuación se muestra un ejemplo de cómo insertaría datos nuevos al principio de su lista.

|_+_|

los insertAtFront El método en el ejemplo anterior permite a un usuario agregar nuevos nodos a una lista vinculada dada.

Aplicación del inserto en el ejemplo frontal

A continuación se muestra un ejemplo de cómo aplicaría el inserto en la parte delantera.

|_+_|

los Conductor class (que es el nombre que a menudo se asigna a la clase ejecutable en Java), utiliza la clase LinkedList para crear una lista vinculada de cinco números pares. Al mirar el código anterior, debería ser fácil ver que el número '2' está en la posición principal en la lista vinculada. Pero, ¿cómo puedes confirmar esto?

pc no lee disco duro externo

Uso del método Mostrar todos los nodos

El método de mostrar todos los nodos es un método de lista enlazada esencial. Sin él, un desarrollador no podrá ver los nodos en una lista vinculada. Viaja a través de la lista enlazada (empezando por la cabecera) imprimiendo los datos almacenados en cada nodo que forma la lista.

Ejemplo del método Mostrar todos los nodos

A continuación se muestra un ejemplo del uso del método de mostrar todas las notas en Java.

|_+_|

Ahora que el displayAllNodes se ha agregado al método Lista enlazada class, puede ver la lista vinculada agregando una sola línea de código a la clase del controlador.

Uso del ejemplo del método Mostrar todos los nodos

A continuación, verá cómo usaría el método de mostrar todos los nodos.

|_+_|

La ejecución de la línea de código anterior producirá el siguiente resultado en la consola:

La lista:

|_+_|

Uso del método de búsqueda de nodo

Habrá casos en los que un usuario querrá encontrar un nodo específico en una lista vinculada.

Por ejemplo, no sería práctico para un banco que tiene millones de clientes imprimir todos los clientes en su base de datos cuando solo necesitan ver los detalles de un cliente específico.

Por lo tanto, en lugar de utilizar el displayAllNodes método, un método más eficiente es encontrar el único nodo que contiene los datos requeridos. Esta es la razón por la que la búsqueda de un método de nodo único es importante en la estructura de datos de la lista vinculada.

Ejemplo de método de búsqueda de nodo

A continuación se muestra un ejemplo del uso del método de búsqueda de nodo.

|_+_|

Con el displayAllNodes método, confirmó que el Lista enlazada contiene 5 números pares del 2 al 10. El findNode El ejemplo anterior puede confirmar si uno de esos números pares es el número 4 simplemente llamando al método en la clase del controlador y proporcionando el número como parámetro.

Uso del ejemplo del método Find Node

A continuación se muestra un ejemplo de cómo usaría el método de búsqueda de nodo en la práctica.

|_+_|

El código anterior producirá el siguiente resultado en la consola:

|_+_|

Uso del método Eliminar un nodo

Utilizando el mismo ejemplo bancario anterior, un cliente de la base de datos del banco podría querer cerrar su cuenta. Aquí es donde resultará útil el método de eliminación de un nodo. Es el método de lista enlazada más complejo.

El método Delete a Node busca un nodo determinado, elimina ese nodo y vincula el nodo anterior al que sigue al nodo que se ha eliminado.

Ejemplo de eliminación de un método de nodo

A continuación se muestra un ejemplo del método de eliminación de un nodo.

|_+_|

Uso del ejemplo del método Eliminar un nodo

A continuación se muestra un ejemplo del uso del método de eliminación de un nodo en la práctica.

cómo deshacerse de la línea horizontal en la palabra
|_+_|

El uso de las dos líneas de código anteriores en la clase Driver preexistente producirá el siguiente resultado en la consola:

|_+_|

Ahora puede crear listas vinculadas en Java

Si llegó al final de este artículo del tutorial, habrá aprendido:

  • Cómo crear una clase de nodo.
  • Cómo crear una clase de lista vinculada.
  • Cómo poblar una clase de lista vinculada con sus métodos predefinidos.
  • Cómo crear una clase de controlador y usar los diferentes métodos de listas vinculadas para lograr el resultado deseado.

Una lista vinculada es solo una de las muchas estructuras de datos que puede utilizar para almacenar, recuperar y eliminar datos. Ya que tiene todo lo que necesita para comenzar, ¿por qué no prueba estos ejemplos usted mismo en Java?

Cuota Cuota Pío Correo electrónico Cómo crear y realizar operaciones en matrices en Java

¿Aprendiendo Java? Deje que las matrices manejen sus datos con facilidad.

Leer siguiente
Temas relacionados
  • Programación
  • Java
  • Programación
  • Consejos de codificación
Sobre el Autor Kadeisha Kean(21 Artículos publicados)

Kadeisha Kean es desarrolladora de software Full-Stack y redactora técnica / tecnológica. Tiene la habilidad distintiva de simplificar algunos de los conceptos tecnológicos más complejos; produciendo material que puede ser fácilmente entendido por cualquier novato en tecnología. Le apasiona escribir, desarrollar software interesante y viajar por el mundo (a través de documentales).

Más de Kadeisha Kean

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse