LinkedList集合详解与常见用法介绍
时间:2026-08-18 | 作者:318050 | 阅读:0LinkedList的结构特点
ArrayList在查找元素这件事上向来很利索,但一旦涉及新增、删除,效率就没那么理想了。
要补上这块短板,通常会用到List接口的另一个实现类LinkedList。
LinkedList内部有两个Node类型的属性,分别是first和last,用来维护一个双向循环链表。
链表里的每个元素,都会通过引用记录自己的前一个元素和后一个元素。这样一来,所有元素就能首尾关联、串联成链。
插入新元素时,本质上只需要调整这些元素之间的引用关系。
删除节点时,处理方式也是一样。
也正因为这种存储结构,LinkedList在元素的增删操作上通常表现得更高效。LinkedList集合添加元素和删除元素的过程如图1所示。
图1 双向循环链表结构图
图1所示的增删过程
图1用两张示意图,把LinkedList在新增和删除元素时的处理过程讲得很直观。
左边这张图展示的是插入一个新元素。原本元素1和元素2在集合里互为前后节点。
如果要在它们中间插入一个新元素,其实只需要调整两处关联即可。
- 让元素1记录它后面的节点变成这个新元素
- 让元素2记录它前面的节点也是这个新元素
右边这张图对应的是删除元素。
如果要移除位于元素1和元素2之间的元素3,那么直接让元素1和元素2重新建立前后关系,就完成了删除操作。
LinkedList中的特有方法
LinkedList集合除了从接口Collection和List中继承并实现了集合操作方法外,还专门针对元素的增删操作定义了一些特有的方法,如表1所示。
表1 LinkedList中的特有方法
| 方法声明 | 功能描述 |
|---|---|
| void add(int index, E element) | 在此列表中指定的位置插入指定的元素。 |
| void addFirst(Object o) | 将指定元素插入集合的开头 |
| void addLast(Object o) | 将指定元素添加到集合的结尾 |
| Object getFirst() | 返回集合的第一个元素 |
| Object getLast() | 返回集合的最后一个元素 |
| Object removeFirst() | 移除并返回集合的第一个元素 |
| Object removeLast() | 移除并返回集合的最后一个元素 |
| boolean offer(Object o) | 将指定元素添加到集合的结尾 |
| boolean offerFirst(Object o) | 将指定元素添加到集合的开头 |
| boolean offerLast(Object o) | 将指定元素添加到集合的结尾 |
| Object peek() | 获取集合的第一个元素 |
| Object peekFirst() | 获取集合的第一个元素 |
| Object peekLast() | 获取集合的最后一个元素 |
| Object poll() | 移除并返回集合的第一个元素 |
| Object pollFirst() | 移除并返回集合的第一个元素 |
| Object pollLast() | 移除并返回集合的最后一个元素 |
| void push(Object o) | 将指定元素添加到集合的开头 |
| Object pop() | 移除并返回集合的第一个元素 |
表1中,列出的方法主要针对集合中的元素进行增加、删除和获取操作。
接下来通过一个案例,学习LinkedList中常用方法的使用,如文件1所示。
案例:LinkedList常用方法演示
文件1 Example02.ja va
1 import ja va.util.LinkedList;
2 public class Example02 {
3 public static void main(String[] args) {
4 // 创建LinkedList集合
5 LinkedList link = new LinkedList();
6 // 1、添加元素
7 link.add("stu1");
8 link.add("stu2");
9 System.out.println(link); // 输出集合中的元素
10 link.offer("offer"); // 向集合尾部追加元素
11 link.push("push"); // 向集合头部添加元素
12 System.out.println(link); // 输出集合中的元素
13 // 2、获取元素
14 Object object = link.peek();//获取集合第一个元素
15 System.out.println(object); // 输出集合中的元素
16 // 3、删除元素
17 link.removeFirst(); // 删除集合第一个元素
18 link.pollLast(); // 删除集合最后一个元素
19 System.out.println(link);
20 }
21 }
运行结果如图2所示。
图2 运行结果
案例执行过程说明
文件1中,首先创建了一个LinkedList集合。
接着,分别使用add()、offer()、push()方法向集合中插入元素。
然后,使用peek()方法获取了集合的第一个元素。
最后,分别使用removeFirst()、pollLast()方法将集合中指定位置的元素移除。
这样就完成了元素的增、查、删操作。
由此可见,使用LinkedList对元素进行增删操作是非常便捷的。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- DateTimeFormatter类使用方法与日期时间格式化详解
- 时间:2026-08-18
-
- ArrayList集合详解与常见用法指南
- 时间:2026-08-18
-
- List接口详解:特点、用法与常见实现类
- 时间:2026-08-18
-
- Iterator遍历集合的方法与使用技巧
- 时间:2026-08-18
-
- JDK8中foreach遍历集合的用法与示例
- 时间:2026-08-18
-
- foreach遍历集合的用法与常见问题解析
- 时间:2026-08-18
-
- Set接口详解:Java集合中Set的特点与用法
- 时间:2026-08-18
-
- TreeSet集合的特点、排序原理与常见用法
- 时间:2026-08-18
精选合集
更多大家都在玩
热门话题
大家都在看
更多-
- 智能LOGO设计神器:像私人设计师一样快速完成LOGO设计
- 时间:2026-08-17
-
- 百度AI探索版是什么:新一代AI搜索引擎解析
- 时间:2026-08-17
-
- Android开发入门学习路线:从零开始快速上手
- 时间:2026-08-17
-
- 司马阅SmartRead AI阅读神器:文档对话提问即得答案
- 时间:2026-08-17
-
- 通义智文阅读功能介绍:支持网页论文图书与自由阅读
- 时间:2026-08-17
-
- Atom如何配置Kotlin开发环境并编写Kotlin代码
- 时间:2026-08-17
-
- Kotlin中直接调用函数与invoke()用法区别及适用场景
- 时间:2026-08-17
-
- CentOS下Rust项目版本控制方法与实践
- 时间:2026-08-17

