Java LinkedList
Java LinkedList
在上一章中,您了解了 ArrayList
类。LinkedList
类几乎与 ArrayList
相同:
实例
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() | 在列表末尾获取项 | 试一试 » |