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对元素进行增删操作是非常便捷的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值