关于LinkedList集合对元素进行增查删操作

 更新时间:2023年04月26日 09:19:14   作者:Blue92120  
LinkedList集合内部包含有两个Node类型的first和last属性维护一个双向循环链表,在链表中的每一个元素都使用引用的方式来记住它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来,需要的朋友可以参考下

ArrayList集合在查询元素时速度很快,但在增删元素时效率较低,为了克服这种局限性,可以使用List接口的另一个实现类LinkedList。LinkedList集合内部包含有两个Node类型的first和last属性维护一个双向循环链表,在链表中的每一个元素都使用引用的方式来记住它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。当插入一个新元素时,只需要修改元素之间的这种引用关系即可,删除一个节点也是如此。正因为这样的存储结构,所以LinkedList集合对于元素的增删操作表现出很高的效率,LinkedList集合添加元素和删除元素的过程如图所示。

在图6-5中,通过两张图描述了LinkedList集合新增元素和删除元素的过程。其中,左图为新增一个元素,图中的元素1和元素2在集合中彼此为前后关系,在它们之间新增一个元素时,只需要让元素1记住它后面的元素是新元素,让元素2记住它前面的元素为新元素就可以了。右图为删除元素,要想删除元素1和元素2之间的元素3,只需要让元素1与元素2变成前后关系就可以了。LinkedList集合除了从接口Collection和List中继承并实现了集合操作方法外,还专门针对元素的增删操作定义了一些特有的方法,如下所示。

方法声明功能描述
void add(int index, E element在此列表中指定的位置插入指定的元素。
void addFirst(Object o)将指定元素插入集合的开头
void addLast(Object o)将指定元素添加到集合的结尾
Object getFirst(O返回集合的第一个元素
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(0移除并返回集合的第一个元素
Object pollFirst()移除并返回集合的第一个元素
Object pollLast()移除并返回集合的最后一个元素
void push(Object o)将指定元素添加到集合的开头
Object pop0移除并返回集合的第一个元素

上表中,列出的方法主要针对集合中的元素进行增加、删除和获取操作,接下来通过一个案例来学习LinkedList中常用方法的使用,如文件所示。

文件Example02.java

importjava.util.LinkedList;publicclassExample02{3publicstaticvoidmain(String[] args){// 创建LinkedList集合LinkedList link =newLinkedList();// 1、添加元素
        link.add("stu1");
        link.add("stu2");System.out.println(link);// 输出集合中的元素
        link.offer("offer");// 向集合尾部追加元素
        link.push("push");// 向集合头部添加元素System.out.println(link);// 输出集合中的元素// 2、获取元素Object object = link.peek();//获取集合第一个元素System.out.println(object);// 输出集合中的元素// 3、删除元素
        link.removeFirst();// 删除集合第一个元素
        link.pollLast();// 删除集合最后一个元素System.out.println(link);20}21}

运行结果如下图所示。

在文件Example02.java首先创建了一个LinkedList集合,接着分别使用add()、offer()、push()方法向集合中插入元素,然后使用peek()方法获取了集合的第一个元素,最后分别使用removeFirst()、pollLast()方法将集合中指定位置的元素移除,这样就完成了元素的增、查、删操作。由此可见,使用LinkedList对元素进行增删操作是非常便捷的。

到此这篇关于关于LinkedList集合对元素进行增查删操作的文章就介绍到这了,更多相关LinkedList集合增查删内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Maven统一版本管理的实现

    Maven统一版本管理的实现

    在使用Maven多模块结构工程时,配置版本是一个比较头疼的事,本文主要介绍了Maven统一版本管理的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • SpringCloud Alibaba Nacos 整合SpringBoot Admin实战

    SpringCloud Alibaba Nacos 整合SpringBoot A

    这篇文章主要介绍了SpringCloud Alibaba Nacos 整合SpringBoot Admin实战,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java单元测试Mockito的使用详解

    Java单元测试Mockito的使用详解

    Mockito是一个强大的mock工具,本文将重点讲述Mockito的基本使用及注意事项,以及Controller测试用例,本文通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-07-07
  • 详解如何提升SpringBoot项目的吞吐量

    详解如何提升SpringBoot项目的吞吐量

    吞吐量是指系统在单位时间内成功处理请求的数量,当吞吐量不足以应对业务需求时,会导致请求Pile Up的情况发生,使系统不可用甚至宕机,所以提高吞吐量是保证系统可用性的有效手段之一,本文就给大家讲讲如何提升SpringBoot项目的吞吐量
    2023-07-07
  • 使用Idea或Datagrip导入excel数据的方法

    使用Idea或Datagrip导入excel数据的方法

    这篇文章主要介绍了使用Idea或Datagrip导入excel数据的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • dom4j创建和解析xml文档的实现方法

    dom4j创建和解析xml文档的实现方法

    下面小编就为大家带来一篇dom4j创建和解析xml文档的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • java中synchronized Lock(本地同步)锁的8种情况

    java中synchronized Lock(本地同步)锁的8种情况

    本文主要介绍了java中synchronized Lock(本地同步)锁的8种情况,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Java Socket编程(二) Java面向连接的类

    Java Socket编程(二) Java面向连接的类

    Java Socket编程(二) Java面向连接的类...
    2006-12-12
  • springboot打包实现项目JAR包和依赖JAR包分离

    springboot打包实现项目JAR包和依赖JAR包分离

    这篇文章主要介绍了springboot打包实现项目JAR包和依赖JAR包分离,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java创建一个类实现读取一个文件中的每一行显示出来

    java创建一个类实现读取一个文件中的每一行显示出来

    下面小编就为大家带来一篇java创建一个类实现读取一个文件中的每一行显示出来的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论