Convertir ArrayList en LinkedList

JavaBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderemos cómo convertir un ArrayList en un LinkedList en Java. Ambos son clases utilizadas para implementar una lista, pero ArrayList almacena datos en una lista similar a un arreglo mientras que LinkedList utiliza una estructura de datos de lista enlazada. Veremos varios métodos para convertir un ArrayList en LinkedList.

Crear un ArrayList

Comenzaremos creando un ArrayList que contenga elementos de tipo cadena.

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);
    }
}

Para ejecutar el código, abra su terminal y navegue hasta el directorio que contiene su archivo Java. Luego, compile y ejecute el código usando el siguiente comando:

javac Main.java && java Main

Debería ver la salida:

[Mango, Apple, Orange]

Usar un constructor para convertir ArrayList en LinkedList

La forma más fácil de convertir un ArrayList en un LinkedList es usar un constructor. Podemos pasar el ArrayList como argumento al constructor de 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);
    }
}

Para ejecutar el código, abra su terminal y navegue hasta el directorio que contiene su archivo Java. Luego, compile y ejecute el código usando el siguiente comando:

javac Main.java && java Main

Debería ver la salida:

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

Usar el método add() para convertir ArrayList en LinkedList

También podemos agregar elementos del ArrayList al LinkedList uno por uno usando el método 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);
    }
}

Para ejecutar el código, abra su terminal y navegue hasta el directorio que contiene su archivo Java. Luego, compile y ejecute el código usando el siguiente comando:

javac Main.java && java Main

Debería ver la salida:

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

Usar la API de flujos para convertir ArrayList en LinkedList

Si estás usando Java 8 o una versión superior, podemos usar la API de flujos de Java para convertir un ArrayList en un LinkedList. Podemos usar el método stream() para obtener un flujo de elementos del ArrayList y el método collect() para recopilar los elementos en 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);
    }
}

Para ejecutar el código, abra su terminal y navegue hasta el directorio que contiene su archivo Java. Luego, compile y ejecute el código usando el siguiente comando:

javac Main.java && java Main

Debería ver la salida:

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

Resumen

En este laboratorio, aprendimos diferentes maneras de convertir un ArrayList en un LinkedList en Java, como usar un constructor, agregar elementos uno por uno o usar la API de flujos de Java. Puedes usar estos métodos según tus necesidades en tu proyecto.