Java™ 教程(Deque接口)

Deque接口

一般读做deckdeque是双端队列,双端队列是元素的线性集合,支持在两个端点处插入和移除元素,Deque接口是比StackQueue更丰富的抽象数据类型,由于它同时实现堆栈和队列。Deque接口定义了访问Deque实例两端元素的方法,提供了插入、移除和检查元素的方法,ArrayDequeLinkedList等预约义类实现了Deque接口。html

请注意,Deque接口既能够用做后进先出堆栈,也能够用做先进先出队列,Deque接口中给出的方法分为三个部分。java

插入

addfirstofferFirst方法在Deque实例的开头插入元素,方法addLastofferLastDeque实例的末尾插入元素,当Deque实例的容量受到限制时,首选方法是offerFirstofferLast,由于若是队列已满,则addFirst可能没法抛出异常。segmentfault

移除

removeFirstpollFirst方法从Deque实例的开头删除元素,removeLastpollLast方法从末尾删除元素,若是Deque为空,则方法pollFirstpollLast返回null,而若是Deque实例为空,则方法removeFirstremoveLast会抛出异常。api

检索

方法getFirstpeekFirst检索Deque实例的第一个元素,这些方法不会从Deque实例中删除该值。一样,方法getLastpeekLast检索最后一个元素,若是deque实例为空,则方法getFirstgetLast会抛出异常,而方法peekFirstpeekLast将返回NULLoracle

下面列出了12种Deque元素的插入、移除和检索方法:code

操做类型 第一个元素(Deque实例的开头) 最后一个元素(Deque实例的结尾)
插入 addFirst(e)
offerFirst(e)
addLast(e)
offerLast(e)
移除 removeFirst()
pollFirst()
removeLast()
pollLast()
检索 getFirst()
peekFirst()
getLast()
peekLast()

除了插入、删除和检查Deque实例的这些基本方法以外,Deque接口还有一些更预约义的方法,其中之一是removeFirstOccurence,若是Deque实例中存在指定元素,则此方法将删除第一个出现的指定元素,若是元素不存在,则Deque实例保持不变。另外一种相似的方法是removeLastOccurence,此方法删除Deque实例中最后一次出现的指定元素,这些方法的返回类型是boolean,若是元素存在于Deque实例中,它们将返回truehtm


上一篇:Queue接口

下一篇:Map接口

相关文章
相关标签/搜索