美文网首页
Deque 接口

Deque 接口

作者: Mcq | 来源:发表于2021-05-07 21:19 被阅读0次

双端队列,支持在两端插入和删除元素的线性集合,因为它同时实现了堆栈和队列(Stack and Queue ),是比堆栈和队列更丰富的抽象数据类型。
预定义类,如ArrayDeque和LinkedList实现了Deque接口。

请注意,Deque接口既可以用作后进先出堆栈,也可以用作先入先出队列。

在Deque接口中给出的方法分为三部分:

Insert

addfirst 和 offerFirst,从Deque 实例开头添加。
addLast 和 offerLast,从Deque 实例结尾添加。
当Deque实例的容量受限时,首选offerFirst和offerLast,因为如果它容量满了时,addFirst可能不会抛出异常。

Remove

removeFirst 和 pollFirst ,从Deque 实例开头删除。
removeLast 和pollLast,从Deque 实例结尾删除。
如果Deque实例为空,pollFirst和pollLast返回null,而如果Deque实例为空,removeFirst和removeLast抛出异常。

Retrieve

getFirst和peekFirst方法检索Deque实例的第一个元素。
getLast和peekLast方法检索最后一个元素。
如果deque实例为空,则getFirst和getLast方法抛出异常,而peekFirst和peekLast方法返回NULL

操作类型 首元素 尾元素
Insert addFirst(e) ,offerFirst(e) addLast(e),offerLast(e)
Remove removeFirst(),pollFirst() removeLast(),pollLast()
Examine getFirst(),peekFirst() getLast(),peekLast()

Deque接口还有其他的预定义方法。其中一个是removefirstoccuence,如果指定的元素在Deque实例中存在,该方法将删除它的第一次出现,如果元素不存在,则Deque实例保持不变。另一个类似的方法是removelastoccurrence;它删除Deque实例中最后一次出现的指定元素。这些方法的返回类型为布尔型,如果元素存在于Deque实例中,则返回true。

相关文章

  • Stack、Queue、Deque-方法对照

    ArrayDeque和LinkedList都实现了Deque的接口,而Deque接口文档中将推荐实现Deque接口...

  • Java 集合框架(Deque 接口)

    Deque 接口简介 对于 Deque 接口,Java的官方文档这样提到: Usually pronounced ...

  • 关于LinkedList

    LinkedList实现了List接口与Deque接口。Deque解开意思是“Double End Queue”(...

  • 深入了解双端队列Deque

    Deque的类图 由上图可知Deque在Java中以接口的形式存在,同时Deque还继承Queue(队列)的接口。...

  • Deque 接口

    双端队列,支持在两端插入和删除元素的线性集合,因为它同时实现了堆栈和队列(Stack and Queue ),是比...

  • java数据结构(三)

    从定义可以看出,ArrayDeque类,实现了 Deque接口,而Deque继承了Queue(队列)接口;而Que...

  • java源码-ArrayDeque

    开篇  Deque 接口继承自 Queue接口,但 Deque 支持同时从两端添加或移除元素,因此又被成为双端队列...

  • java集合框架总结

    queue接口和Deque接口 LinkedList和ArrayList区别 HashMap 和 HashTabl...

  • JDK源码学习笔记(集合篇 - LinkedList)

    LinkedList -> AbstractSequentialList -> List同时实现了接口Deque,...

  • Queue/Deque接口

    Queue 先入先出(FIFO)的数据结构 boolean add(E element)boolean offer...

网友评论

      本文标题:Deque 接口

      本文链接:https://www.haomeiwen.com/subject/rjimfltx.html