介绍
在本实验中,我们将学习如何在 Java 中将 ArrayList 转换为 LinkedList。两者都是用于实现列表的类,但 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
我们也可以使用 add() 方法将 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<>();
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]
使用 Stream API 将 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]
总结
在本实验中,我们学习了在 Java 中将 ArrayList 转换为 LinkedList 的不同方法,例如使用构造函数、逐个添加元素或使用 Java Stream API。你可以根据项目需求选择使用这些方法。



