Tableau de liste chaînée en Java

Rashmi Patidar 12 octobre 2023
  1. Démonstration du tableau de listes chaînées à l’aide d’un tableau traditionnel en Java
  2. Démonstration du tableau de listes chaînées à l’aide du constructeur en Java
Tableau de liste chaînée en Java

Une LinkedList est la structure de données séquentielle et linéaire qui stocke les éléments dans un ordre défini. La structure de données fait partie de l’interface Collection et est présente dans le package java.util.

La liste chaînée comporte également des éléments stockés dans la partie node. Chaque nœud a une partie data pour le stockage des éléments et le pointeur pour conserver l’adresse du nœud suivant. Les éléments de la liste ne sont pas présents dans des emplacements mémoire contigus.

Démonstration du tableau de listes chaînées à l’aide d’un tableau traditionnel en Java

Vous trouverez ci-dessous le bloc de code qui crée un tableau de listes chaînées à l’aide de boucles.

import java.util.LinkedList;

public class Main {
  public static void main(String[] args) {
    LinkedList[] list = new LinkedList[5];
    for (int i = 0; i < 5; i++) {
      if (list[i] == null) {
        list[i] = new LinkedList();
        int temp = i;
        for (int j = 0; j < temp + 1; j++) {
          list[i].add(j);
        }
      }
      System.out.print(list[i]);
    }
  }
}

Dans le bloc ci-dessus, l’instruction new LinkedList[5] crée une liste chaînée. Le nouveau mot-clé appelle le constructeur public de la liste chaînée de classes. La valeur 5 démontre la taille du tableau, nous créons donc un tableau de 5 listes chaînées.

Sur la variable de liste, la boucle s’exécute pour instancier une nouvelle liste chaînée sur chaque nœud. Ainsi, une boucle for est appliquée avec une condition de valeur entière inférieure à 5 commence à s’exécuter. En interne, il vérifie la condition si la valeur dans le nœud est null ; sinon, un nouveau nœud Liste chaînée est instancié.

Encore une fois, une boucle for s’habitue à remplir les éléments de la liste. La méthode add permet d’ajouter les éléments en fin de liste. La méthode est issue de la classe LinkedList et renvoie la valeur booléenne. Il renvoie true si la fonction add est effectuée avec succès, sinon false.

De même, l’itération continue et la valeur de chaque nœud est remplie avec la liste chaînée. La même chose est également imprimée à l’intérieur de la boucle pour vérifier les éléments présents dans les nœuds.

Production:

[0][0, 1][0, 1, 2][0, 1, 2, 3][0, 1, 2, 3, 4]

Démonstration du tableau de listes chaînées à l’aide du constructeur en Java

Vous trouverez ci-dessous le bloc de code qui utilise les fonctionnalités et fonctions de Java 8 pour créer un tableau de listes chaînées.

import java.util.ArrayList;
import java.util.LinkedList;

public class main {
  public static void main(String[] args) {
    LinkedList list1 = new LinkedList<String>();
    list1.add("l1_value1");
    list1.add("l1_value2");

    LinkedList list2 = new LinkedList();
    list2.add("l2_value1");
    list2.add("l2_value2");

    LinkedList list3 = new LinkedList();
    list3.add("l3_value1");
    list3.add("l3_value2");

    ArrayList<LinkedList> arrayList = new ArrayList<LinkedList>();
    arrayList.add(list1);
    arrayList.add(list2);
    arrayList.add(list1);
    arrayList.forEach(System.out::println);
    System.out.println("Classname: " + arrayList.get(0).getClass());
  }
}

Dans le bloc de code ci-dessus, la méthode main contient la logique réelle pour l’exécution du code.

Tout d’abord, une liste chaînée est créée à l’aide du mot-clé new. Le mot-clé invoque le constructeur public de la classe LinkedList. Les valeurs de chaîne sont insérées dans la liste. De même, deux autres listes sont créées.

Enfin, une liste de tableaux est instanciée. Les variables de liste formées sont ajoutées dans l’instance de liste de tableau. L’itération de l’instance de liste se fait à l’aide de la fonction forEach. De plus, une instruction print avec l’opérateur de référence de méthode :: est ajoutée pour afficher le nom du type d’instance présent dans la liste de tableaux.

La sortie du programme ci-dessus est montrée ci-dessous.

[l1_value1, l1_value2][l2_value1, l2_value2][l1_value1, l1_value2] Classname
    : class java.util.LinkedList
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Article connexe - Java Linked List

Article connexe - Java Array