介绍
在本实验中,我们将学习如何在 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。你可以根据项目需求选择使用这些方法。