介绍
在本实验中,我们将学习如何在 Java 中将 ArrayList 转换为 LinkedList。两者都是用于实现列表的类,但 ArrayList 以类似数组的列表形式存储数据,而 LinkedList 使用链表数据结构。我们将介绍几种将 ArrayList 转换为 LinkedList 的方法。
在本实验中,我们将学习如何在 Java 中将 ArrayList 转换为 LinkedList。两者都是用于实现列表的类,但 ArrayList 以类似数组的列表形式存储数据,而 LinkedList 使用链表数据结构。我们将介绍几种将 ArrayList 转换为 LinkedList 的方法。
我们将从创建一个包含字符串元素的 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 的构造函数。
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 中。
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]
如果你使用的是 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。你可以根据项目需求选择使用这些方法。