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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/BasicSyntaxGroup -.-> java/output("Output") java/DataStructuresGroup -.-> java/collections_methods("Collections Methods") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/constructors("Constructors") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("ArrayList") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/linkedlist("LinkedList") java/FileandIOManagementGroup -.-> java/stream("Stream") subgraph Lab Skills java/output -.-> lab-117417{{"Преобразование ArrayList в LinkedList"}} java/collections_methods -.-> lab-117417{{"Преобразование ArrayList в LinkedList"}} java/constructors -.-> lab-117417{{"Преобразование ArrayList в LinkedList"}} java/arraylist -.-> lab-117417{{"Преобразование ArrayList в LinkedList"}} java/linkedlist -.-> lab-117417{{"Преобразование ArrayList в LinkedList"}} java/stream -.-> lab-117417{{"Преобразование ArrayList в LinkedList"}} end

Создание 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. Вы можете использовать эти методы в соответствии с требованиями вашего проекта.