位置:首页 > Java > LinkedList集合详解与常见用法介绍

LinkedList集合详解与常见用法介绍

时间:2026-08-18  |  作者:318050  |  阅读:0

LinkedList的结构特点

ArrayList在查找元素这件事上向来很利索,但一旦涉及新增、删除,效率就没那么理想了。

要补上这块短板,通常会用到List接口的另一个实现类LinkedList

LinkedList内部有两个Node类型的属性,分别是first和last,用来维护一个双向循环链表。

链表里的每个元素,都会通过引用记录自己的前一个元素和后一个元素。这样一来,所有元素就能首尾关联、串联成链。

插入新元素时,本质上只需要调整这些元素之间的引用关系。

删除节点时,处理方式也是一样。

也正因为这种存储结构,LinkedList在元素的增删操作上通常表现得更高效。LinkedList集合添加元素和删除元素的过程如图1所示。

LinkedList集合详解与常见用法介绍_wishdown.com

图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所示。

LinkedList集合详解与常见用法介绍_wishdown.com

图2 运行结果

案例执行过程说明

文件1中,首先创建了一个LinkedList集合。

接着,分别使用add()、offer()、push()方法向集合中插入元素。

然后,使用peek()方法获取了集合的第一个元素。

最后,分别使用removeFirst()、pollLast()方法将集合中指定位置的元素移除。

这样就完成了元素的增、查、删操作。

由此可见,使用LinkedList对元素进行增删操作是非常便捷的

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多