Conversion d'un ArrayList en LinkedList

JavaBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, nous allons apprendre à convertir un ArrayList en un LinkedList en Java. Les deux sont des classes utilisées pour implémenter une liste, mais ArrayList stocke les données dans une liste ressemblant à un tableau tandis que LinkedList utilise une structure de données de liste chaînée. Nous allons passer en revue plusieurs méthodes pour convertir un ArrayList en LinkedList.

Créer un ArrayList

Nous allons commencer par créer un ArrayList contenant des éléments de type chaîne de caractères.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Mango");
        arrayList.add("Apple");
        arrayList.add("Orange");
        System.out.println(arrayList);
    }
}

Pour exécuter le code, ouvrez votre terminal et accédez au répertoire contenant votre fichier Java. Ensuite, compilez et exécutez le code en utilisant la commande suivante :

javac Main.java && java Main

Vous devriez voir la sortie suivante :

[Mango, Apple, Orange]

Utiliser un constructeur pour convertir un ArrayList en LinkedList

La manière la plus simple de convertir un ArrayList en un LinkedList est d'utiliser un constructeur. Nous pouvons passer le ArrayList en tant qu'argument au constructeur du LinkedList.

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

public class Main {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Mango");
        arrayList.add("Apple");
        arrayList.add("Orange");
        System.out.println("ArrayList: ");
        System.out.println(arrayList);

        // ArrayList to LinkedList
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = new LinkedList<>(arrayList);
        System.out.println(linkedList);
    }
}

Pour exécuter le code, ouvrez votre terminal et accédez au répertoire contenant votre fichier Java. Ensuite, compilez et exécutez le code en utilisant la commande suivante :

javac Main.java && java Main

Vous devriez voir la sortie suivante :

ArrayList:
[Mango, Apple, Orange]
LinkedList:
[Mango, Apple, Orange]

Utiliser la méthode add() pour convertir un ArrayList en LinkedList

Nous pouvons également ajouter les éléments du ArrayList au LinkedList un par un en utilisant la méthode add().

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

public class Main {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Mango");
        arrayList.add("Apple");
        arrayList.add("Orange");
        System.out.println("ArrayList: ");
        System.out.println(arrayList);

        // ArrayList to LinkedList
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = new LinkedList<>();
        for (String str : arrayList) {
            linkedList.add(str);
        }
        System.out.println(linkedList);
    }
}

Pour exécuter le code, ouvrez votre terminal et accédez au répertoire contenant votre fichier Java. Ensuite, compilez et exécutez le code en utilisant la commande suivante :

javac Main.java && java Main

Vous devriez voir la sortie suivante :

ArrayList:
[Mango, Apple, Orange]
LinkedList:
[Mango, Apple, Orange]

Utiliser l'API de flux pour convertir un ArrayList en LinkedList

Si vous utilisez Java 8 ou une version ultérieure, nous pouvons utiliser l'API Java Stream pour convertir un ArrayList en un LinkedList. Nous pouvons utiliser la méthode stream() pour obtenir un flux d'éléments à partir du ArrayList et la méthode collect() pour collecter les éléments dans un LinkedList.

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Mango");
        arrayList.add("Apple");
        arrayList.add("Orange");
        System.out.println("ArrayList: ");
        System.out.println(arrayList);

        // ArrayList to LinkedList using Java Stream API
        System.out.println("LinkedList: ");
        LinkedList<String> linkedList = arrayList.stream()
             .collect(Collectors.toCollection(LinkedList::new));
        System.out.println(linkedList);
    }
}

Pour exécuter le code, ouvrez votre terminal et accédez au répertoire contenant votre fichier Java. Ensuite, compilez et exécutez le code en utilisant la commande suivante :

javac Main.java && java Main

Vous devriez voir la sortie suivante :

ArrayList:
[Mango, Apple, Orange]
LinkedList:
[Mango, Apple, Orange]

Résumé

Dans ce laboratoire, nous avons appris différentes façons de convertir un ArrayList en un LinkedList en Java, telles que l'utilisation d'un constructeur, l'ajout d'éléments un par un ou l'utilisation de l'API Java Stream. Vous pouvez utiliser ces méthodes selon vos besoins dans votre projet.