Java LinkedList
Java LinkedList
在上一章中,您学习了 ArrayList 类。LinkedList 类与 ArrayList 几乎完全相同。
示例
// Import the LinkedList class
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList vs. LinkedList
LinkedList 类是一个集合,可以包含许多相同类型的对象,就像 ArrayList 一样。
LinkedList 类拥有与 ArrayList 类所有相同的方法,因为它们都实现了 List 接口。这意味着您可以用同样的方式添加、更改、删除项目以及清除列表。
然而,虽然 ArrayList 类和 LinkedList 类可以以相同的方式使用,但它们的构建方式却非常不同。
ArrayList 如何工作
ArrayList 类内部有一个常规数组。当添加一个元素时,它被放入数组中。如果数组不够大,会创建一个新的、更大的数组来替换旧数组,然后旧数组被移除。
LinkedList 如何工作
LinkedList 将其项目存储在“容器”中。列表有一个指向第一个容器的链接,每个容器都有一个指向列表中下一个容器的链接。要向列表中添加一个元素,该元素被放入一个新的容器中,然后该容器被链接到列表中的其他容器之一。
何时使用
使用 ArrayList 来存储和访问数据,使用 LinkedList 来操作数据。
LinkedList 方法
在许多情况下,ArrayList 更有效,因为通常需要访问列表中的随机项目,但 LinkedList 提供了一些方法来更有效地执行某些操作。
| 方法 | 描述 | 试一试 |
|---|---|---|
| addFirst() | 在列表的开头添加一个项目 | 试一试 » |
| addLast() | 在列表的末尾添加一个项目 | 试一试 » |
| removeFirst() | 从列表的开头移除一个项目 | 试一试 » |
| removeLast() | 从列表的末尾移除一个项目 | 试一试 » |
| getFirst() | 获取列表开头的项目 | 试一试 » |
| getLast() | 获取列表末尾的项目 | 试一试 » |
完整的 LinkedList 参考
有关 LinkedList 方法的完整参考,请访问我们的 Java LinkedList 参考。