Java 链表
Java 链表
在上一章中,您了解了 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 与 LinkedList
这 LinkedList
类是一个集合,可以包含许多相同类型的对象,就像ArrayList
.
这 LinkedList
类具有与ArrayList
因为它们都实现了List
界面。这意味着您可以以相同的方式添加项目、更改项目、删除项目和清除列表。
然而,虽然 ArrayList
类和LinkedList
类可以以相同的方式使用,但它们的构建方式却非常不同。
ArrayList 的工作原理
这 ArrayList
类中有一个常规数组。当添加元素时,会将其放入数组中。如果数组不够大,则会创建一个新的更大的数组来替换旧数组,并删除旧数组。
LinkedList 的工作原理
这 LinkedList
将其项目存储在“容器”中。列表具有指向第一个容器的链接,每个容器都具有指向列表中下一个容器的链接。要将元素添加到列表中,请将元素放入新容器中,并将该容器链接到列表中的其他容器之一。
何时使用
使用 ArrayList
用于存储和访问数据,以及LinkedList
来操纵数据。
LinkedList 方法
在许多情况下, ArrayList
效率更高,因为通常需要访问列表中的随机项,但LinkedList
提供了几种方法来更有效地执行某些操作:
方法 | 描述 | 尝试一下 |
---|---|---|
添加第一个() | 将一个项目添加到列表的开头。 | 尝试一下 ” |
添加最后一个() | 将项目添加到列表末尾 | 尝试一下 ” |
删除第一个() | 从列表开头删除一项。 | 尝试一下 ” |
移除最后一个() | 从列表末尾删除一项 | 尝试一下 ” |
获取第一个() | 获取列表开头的项目 | 尝试一下 ” |
获取最后一个值 | 获取列表末尾的项目 | 尝试一下 ” |