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

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinkedList集合对元素进行增查删操作相关的知识,希望对你有一定的参考价值。

ArrayList集合在查询元素时速度很快,但在增删元素时效率较低,为了克服这种局限性,可以使用List接口的另一个实现类LinkedList。

LinkedList集合内部包含有两个Node类型的first和last属性维护一个双向循环链表,在链表中的每一个元素都使用引用的方式来记住它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。

当插入一个新元素时,只需要修改元素之间的这种引用关系即可,删除一个节点也是如此。

正因为这样的存储结构,所以LinkedList集合对于元素的增删操作表现出很高的效率,LinkedList集合添加元素和删除元素的过程如图所示。

通过两张图描述了LinkedList集合新增元素和删除元素的过程

其中,左图为新增一个元素,图中的元素1和元素2在集合中彼此为前后关系,在它们之间新增一个元素时,只需要让元素1记住它后面的元素是新元素,让元素2记住它前面的元素为新元素就可以了

右图为删除元素,要想删除元素1和元素2之间的元素3,只需要让元素1与元素2变成前后关系就可以了。LinkedList集合除了从接口Collection和List中继承并实现了集合操作方法外,还专门针对元素的增删操作定义了一些特有的方法,如下所示。

方法声明 功能描述

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

import java.util.LinkedList;
public class Example02 
    3 public static void main(String[] args) 
        // 创建LinkedList集合
        LinkedList link = new LinkedList();
        // 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集合对元素进行增查删操作的主要内容,如果未能解决你的问题,请参考以下文章

二.2vueadmin-template反向代理/路由配置,idc增查删

类LinkedList

类LinkedList(集合)

Queue集合 与 PriorityQueue ArrayDeque LinkedList实现类相关

arraylist和linkedlist的简单比较

LinkedList源码分析