简介

链表(LinkedList)是一种常见的数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是每一个节点里存到下一个节点的地址。

链表可以分为单向链表和双向链表。

一个单项链表包含两个值:当前节点的值和指向下一个节点的链接。

一个双向链表由三个整数值:当前节点的值、向后的节点链接、前向的节点链接。

应用场景

  • 需要循环迭代来访问列表中的某些元素。
  • 需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。

代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package dataStructure;

/**
* Author: Rupert Tears
* Date: Created in 20:43 2022/11/2
* Description: Thought is already is late, exactly is the earliest time.
*/
public class LinkedList {
public static void main(String[] args) {
// 创建一个简单的链表实例
java.util.LinkedList<String> list = new java.util.LinkedList<>();
list.add("Google");
list.add("Baidu");
list.add("Weibo");
// 在列表开头添加元素
list.addFirst("Apple");
// 在列表尾部添加元素
list.addLast("End");
// 移除头部元素
list.removeFirst();
// 移除尾部元素
list.removeLast();
// 获取头部元素
System.out.println(list.getFirst());
// 获取尾部元素
System.out.println(list.getLast());

// 输出列表
System.out.println(list);

System.out.println(list.size());
// size 迭代列表中元素
for (int size = list.size(), i = 0; i < size; i++) {
System.out.println(list.get(i));
}

// foreach 迭代元素
for (String str : list) {
System.out.println(str);
}

}
}