Java LinkedList
提示
- 数据结构特点:
LinkedList
是一个双向链表,其中每个节点包含前驱指针、数据和后继指针。 - 创建和基本操作:可创建类型特定的
LinkedList
,支持添加、访问、修改和移除元素等基本操作。 - 多接口实现:除实现
List
接口外,LinkedList
也实现了Queue
和Deque
接口,支持队列和双端队列的操作。
Java 集合框架的 LinkedList
类提供了双向链表数据结构的功能。
链表中的每个元素被称为节点。它由 3 个字段组成:
- Prev - 存储列表中前一个元素的地址。对于第一个元素来说是
null
- Next - 存储列表中下一个元素的地 址。对于最后一个元素来说是
null
- Data - 存储实际的数据
创建 Java LinkedList
以下是我们在 Java 中创建链表的方式:
LinkedList<Type> linkedList = new LinkedList<>();
这里,Type
指的是链表的类型。例如,
// 创建 Integer 类型的链表
LinkedList<Integer> linkedList = new LinkedList<>();
// 创建 String 类型的链表
LinkedList<String> linkedList = new LinkedList<>();
示例:在 Java 中创建 LinkedList
import java.util.LinkedList;
class Main {
public static void main(String[] args){
// 创建链表
LinkedList<String> animals = new LinkedList<>();
// 向 LinkedList 添加元素
animals.add("Dog");
animals.add("Cat");
animals.add("Cow");
System.out.println("LinkedList: " + animals);
}
}
输出
LinkedList: [Dog, Cat, Cow]
在上面的示例中,我们创建了一个名为 animals
的 LinkedList
。
这里,我们使用了 add()
方法向 LinkedList 添加元素。我们将在本教程后面更多地学习 add()
方法。
Java LinkedList 的工作原理
链表中的元 素不是按顺序存储的。相反,它们通过链接(Prev 和 Next)散布并相连。
这里我们有一个链表中的 3 个元素。
Dog
- 它是第一个元素,前一个地址持有null
,下一个地址是Cat
Cat
- 它是第二个元素,前一个地址是Dog
,下一个地址是Cow
Cow
- 它是最后一个元素,前一个地址是Cat
,下一个地址是null
要了解更多,请访问 链表数据结构。
Java LinkedList 的方法
LinkedList
提供了各种方法,允许我们在链表中执行不同的操作。在本教程中,我们将查看四种常用的 LinkedList 操作:
- 添加元素
- 访问元素
- 更改元素
- 移除元素
1. 向 LinkedList 添加元素
我们可以使用 add()
方法在 LinkedList 的末尾添加一个元素(节点)。例如,
import java.util.LinkedList;
class Main {
public static void main(String[] args){
// 创建链表
LinkedList<String> animals = new LinkedList<>();
// 没有索引参数的 add() 方法
animals.add("Dog");
animals.add("Cat");
animals.add("Cow");
System.out.println("LinkedList: " + animals);
// 带索引参数的 add() 方法
animals.add(1, "Horse");
System.out.println("更新后的 LinkedList: " + animals);
}
}
输出
LinkedList: [Dog, Cat, Cow]
更新后的 LinkedList: [Dog, Horse, Cat, Cow]
在上述示例中,我们创建了一个名为 animals
的 LinkedList
。这里,我们使用了 add()
方法向 animals
添加元素。
注意以下语句,
animals.add(1, "Horse");
这里,我们使用了索引号参数。这是一个可选参数,用于指定新元素添加的位置。
要了解更多关于向 LinkedList 添加元素的信息,请访问 Java 程序:向 LinkedList 添加元素。