Java LinkedList

Java LinkedList

在上一章中,您了解了 ArrayList 类。LinkedList 类几乎与 ArrayList 相同:

实例
  1. import java.util.LinkedList;
  2. public class Main {
  3. public static void main(String[] args) {
  4. LinkedList<String> cars = new LinkedList<String>();
  5. cars.add("Volvo");
  6. cars.add("BMW");
  7. cars.add("Ford");
  8. cars.add("Mazda");
  9. System.out.println(cars);
  10. }
  11. }

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()在列表末尾获取项试一试 »