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

作者:Blue92120 时间:2022-09-23 11:48:45 

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

运行结果如下图所示。

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

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

来源:https://blog.csdn.net/Blue92120/article/details/129120449

标签:LinkedList,集合,增,查,删
0
投稿

猜你喜欢

  • Android实现随机圆形云标签效果

    2023-02-23 02:10:42
  • SpringBoot项目@Async方法问题解决方案

    2023-11-12 03:55:26
  • C++作用域与函数重载的实现

    2022-04-30 06:28:30
  • SpringBoot之bootstrap和application的区别解读

    2022-05-03 20:23:07
  • android开发之为activity增加左右手势识别示例

    2021-09-30 12:41:50
  • Java基于Tcp的基础聊天功能实例

    2023-11-25 05:26:56
  • 详解C++ bitset用法

    2022-10-30 08:57:16
  • Spring Boot Thymeleaf实现国际化的方法详解

    2023-11-24 06:01:01
  • 浅谈EventBus

    2022-12-31 20:23:14
  • Android仿微信对话列表滑动删除效果

    2023-04-15 13:22:30
  • 如何将C语言代码转换为应用程序(也就是编译)

    2022-09-02 06:30:49
  • Java接入支付宝授权第三方登录的完整步骤

    2023-01-05 01:13:54
  • Android 广播大全 Intent Action 事件详解

    2021-09-10 12:40:15
  • Android启动页优化之实现应用秒开

    2021-05-27 23:51:32
  • Mybatis generator自动生成代码插件实例解析

    2022-06-04 22:52:33
  • Java中驼峰命名与下划线命名相互转换

    2021-10-01 00:56:47
  • 教你用Java GUI实现文本文件的读写

    2023-05-25 06:47:13
  • java实现静默安装apk

    2023-08-31 08:11:34
  • SpringBoot使用SchedulingConfigurer实现多个定时任务多机器部署问题(推荐)

    2021-09-17 07:19:20
  • 基于Springboot+Junit+Mockito做单元测试的示例

    2023-01-03 21:15:51
  • asp之家 软件编程 m.aspxhome.com