Преобразование ArrayList в LinkedList

JavaBeginner
Практиковаться сейчас

Введение

В этом практическом занятии мы узнаем, как преобразовать ArrayList в LinkedList на Java. Оба класса используются для реализации списка, но ArrayList хранит данные в списке, подобном массиву, в то время как LinkedList использует структуру данных связанного списка. Мы рассмотрим несколько методов для преобразования ArrayList в LinkedList.

Создать ArrayList

Начнем с создания ArrayList, содержащего элементы строкового типа.

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

Для запуска кода откройте терминал и перейдите в директорию, содержащую ваш java-файл. Затем скомпилируйте и запустите код с использованием следующей команды:

javac Main.java && java Main

Вы должны увидеть вывод:

[Mango, Apple, Orange]

Использовать конструктор для преобразования ArrayList в LinkedList

Самый простой способ преобразовать ArrayList в LinkedList - использовать конструктор. Мы можем передать ArrayList в качестве аргумента конструктору 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);
    }
}

Для запуска кода откройте терминал и перейдите в директорию, содержащую ваш java-файл. Затем скомпилируйте и запустите код с использованием следующей команды:

javac Main.java && java Main

Вы должны увидеть вывод:

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

Использовать метод add() для преобразования ArrayList в LinkedList

Мы также можем добавлять элементы из ArrayList в LinkedList по одному с использованием метода 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);
    }
}

Для запуска кода откройте терминал и перейдите в директорию, содержащую ваш java-файл. Затем скомпилируйте и запустите код с использованием следующей команды:

javac Main.java && java Main

Вы должны увидеть вывод:

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

Использовать API Stream для преобразования ArrayList в LinkedList

Если вы используете Java 8 или более позднюю версию, мы можем использовать Java Stream API для преобразования ArrayList в LinkedList. Мы можем использовать метод stream() для получения потока элементов из ArrayList и метод collect() для сбора элементов в 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);
    }
}

Для запуска кода откройте терминал и перейдите в директорию, содержащую ваш java-файл. Затем скомпилируйте и запустите код с использованием следующей команды:

javac Main.java && java Main

Вы должны увидеть вывод:

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

Резюме

В этом практическом занятии мы узнали разные способы преобразования ArrayList в LinkedList на Java, такие как использование конструктора, добавление элементов по одному или использование Java Stream API. Вы можете использовать эти методы в соответствии с требованиями вашего проекта.