Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据测试

双端队列Deque, java中的双端队列,双端队列基本概念

双端队列Deque, java中的双端队列,双端队列基本概念

  1. 双向队列是一个可以从两端进行添加和移除的队列。deque的全称是“double ended queue”

Deque双向队列的实现类可以是一个有容量限制的双端队列,也可以是一个有容量限制的。

  1. Deque接口定义了从两端访问队列的方法,提供了插入,删除,检索两组方法,一组是操作失败抛出异常,一组是操作失败返回布尔值或者null. 插入操作返回布尔值或者null只会出现在有固定容量的双端队列中,在deque的大多数实现中,插入操作不会失败.

    如果是一个有容量的队列,建议使用add系列方法,当容量不足是抛出异常

  2. 双端队列常用的方法

失败抛出异常失败返回false失败抛出异常失败返回false
addFirstofferFirstaddLastofferLastadd
removeFirstpollFirstremoveLastpollLastremove
getFirstpeekFirstgetLastpeekLastexamine
  1. Deque接口继承了Queue接口,他可以当成普通的队列实现先进先出FiFo操作,元素从双端队列尾部添加,从双端队列头部出队。继承自Queue的add方法,相当于Deque的addLast操作,offer相当于offerLast操作,remove相当于removeFirst,poll相当于pollFirst,queue中的element检索操作相当于deque的getFirst方法。 peek想当于peekFirst.

  2. Deque也可以被使用为last in first out 后进先出的栈。 使用addFirst, removeFist操作实现栈的后进先出功能,从队列头部进入,从队列头部出 push -> addFirst poll-> removeFist, peek -> getFirst

  3. Deque提供了两组迭代器,可以从头开始检索,也可以从尾部开始检索

        Iterator<E> iterator();  //可以从头开始检索
    
        Iterator<E> descendingIterator();  //反过来 从队尾开始检索元素
    
    
    

    Deque的子类实现图:
    在这里插入图片描述

欢迎各位大佬们的点赞评。

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 【最佳实践】SequoiaDB集群扩容最佳实践

下一篇: 云小课 | 需求任务还未分解,该咋整!项目管理Scrum项目工作分解的心酸谁能知?

精华推荐