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



