【Deque】双端队列

Deque 定义
JAVA集合提供的一个接口,用于实现双端队列
Deque实现类:
LinkedList 、ArrayList
Deque提供的方法
作为一双端队列,Deque既能实现栈的特点,也能实现队列的特点。不少文章都是以这两种数据结构区分Deque提供的方法的。本文建议不用这种记法,而是去记如下几种方法:

  1. 向首部添加元素
addFirst()
  1. 向尾部添加元素
addLast()
  1. 删除首部元素
removeFirst()
  1. 删除尾部元素
removeLast()
  1. 得到首元素(有区别于删除)
peekFirst()
  1. 得到尾元素(有区别于删除)
peekLast()

由上,可以观察出通过 First 和 Last 我们可以很好的区别出操作元素的位置,就我而言相较于一个个比对 Deque方法 与 Stack方法 及 Queue方法的方式去记忆,这种方式更便于理解和记忆。
注意:Stack 已经过时, JAVA官方推荐使用 Deque 来实现栈
图解:

在这里插入图片描述
完整测试代码

    public static void main(String[] args) {
        Deque<Integer> deque = new LinkedList<>();
        deque.addLast(1);
        deque.addLast(2);
        deque.addLast(3);
        deque.addLast(4);
        deque.addLast(5);
        deque.addLast(6);
        System.out.println("deque.peekFirst() = " + deque.peekFirst());
        System.out.println("deque.peekLast() = " + deque.peekLast());
        deque.addFirst(0);
        deque.addLast(7);
        deque.addLast(8);
        deque.removeLast();
        while (!deque.isEmpty()){
            System.out.println(deque.removeFirst());
        }
    }

在无数个星星闪耀的晚上,我敲着这些浅显的文章,斗胆使用和牛顿前辈一样的话,在我面前是巨大的汪洋大海,而我却在为捡拾到海边的贝壳而沾沾自喜。我们都是追求大海过程中的人,希望我的文章对你有一点点帮助,与你共勉。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值