Java LinkedList

Java LinkedList

在前一章中,您学习 ArrayList 类。LinkedList 类几乎与 ArrayList 相同:

实例

// 导入 LinkedList 类
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 与 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 参考手册