目录

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 与 LinkedList

这个LinkedList类是一个集合,可以包含许多相同类型的对象,就像ArrayList

这个LinkedList类具有与ArrayList类,因为它们都实现了List界面。这意味着您可以以相同的方式添加项目、更改项目、删除项目和清除列表。

然而,虽然ArrayList类和LinkedList类可以以相同的方式使用,但它们的构建方式非常不同。

ArrayList 的工作原理

这个ArrayList类里面有一个常规数组。当添加一个元素时,它被放入数组中。如果数组不够大,则会创建一个更大的新数组来替换旧数组,然后删除旧数组。

链表如何工作

这个LinkedList将其项目存储在 "containers." 中。列表有一个指向第一个容器的链接,每个容器都有一个指向列表中下一个容器的链接。为了将元素添加到列表中,该元素被放置到一个新容器中,并且该容器被链接到列表中的其他容器之一。

何时使用

使用ArrayList用于存储和访问数据,以及LinkedList操纵数据。


链表方法

对于许多情况,ArrayList效率更高,因为通常需要访问列表中的随机项目,但是LinkedList提供了多种方法来更有效地执行某些操作:

Method Description 尝试一下
addFirst() Adds an item to the beginning of the list. 尝试一下 »
addLast() Add an item to the end of the list 尝试一下 »
removeFirst() Remove an item from the beginning of the list. 尝试一下 »
removeLast() Remove an item from the end of the list 尝试一下 »
getFirst() Get the item at the beginning of the list 尝试一下 »
getLast() Get the item at the end of the list 尝试一下 »