Comment implémenter une classe LinkedList à partir de zéro en Java

Publié: 2013-06-19
Tutoriel d'implémentation de Crunchify Java LinkedList

Si vous construisez réellement un véritable système de production, alors oui, vous n'utiliserez généralement que les éléments de la bibliothèque standard si ce dont vous avez besoin y est disponible. Cela dit, ne considérez pas cela comme un exercice inutile.

Il est bon de comprendre comment les choses fonctionnent, et understanding linked lists est une étape importante vers la compréhension de structures de données plus complexes, dont beaucoup n'existent pas dans les bibliothèques standard.

Il existe quelques différences entre la façon dont vous créez une liste chaînée et la façon dont l'API de collections Java le fait.

L'API Collections essaie d'adhérer à une interface plus compliquée. Votre LinkedList aura toujours au moins un élément.

Avec ce type de configuration, vous utiliserez null lorsque vous avez besoin d'une liste vide. Pensez à « suivant » comme étant « le reste de la liste ». En fait, beaucoup de gens l'appelleraient tail au lieu de "suivant".

Voici un schéma d'une LinkedList unique :

Crunchify Exemple de liste chaînée unique

Un autre doit lire:

  • Comment parcourir l'instance LinkedList en Java ?
  • Java : Comment trouver l'élément intermédiaire de LinkedList ?

Quelle est la meilleure façon de créer une liste liée en Java à partir de zéro ?

Eh bien, voici une implémentation la plus simple de la classe LinkedList en Java.

LinkedList en Java à partir de zéro - Tutoriel Crunchify

Quelques choses:

Ici, nous initialisons Node uniquement lors adding 1st element .

Résultat:

Les améliorations apportées à cette implémentation incluent la création d'une double-linked list , l'ajout de méthodes pour insert et delete du milieu ou de la fin, ainsi que l'ajout de méthodes get et sort .

Réponse référencée de Stack Overflow par Laurence Gonsalves. Vous pourriez être intéressé par la liste de tous les didacticiels Java.