文档

Java™ 教程
隐藏目录
Deque 接口
路径: 集合
课程: 接口

Deque接口

通常发音为deck,deque是双端队列的缩写。双端队列是一个线性元素集合,支持在两个端点插入和删除元素。 Deque接口是比StackQueue更丰富的抽象数据类型,因为它同时实现了栈和队列的功能。 Deque接口定义了访问Deque实例两端元素的方法。提供了插入、删除和查看元素的方法。预定义的类,如ArrayDequeLinkedList实现了Deque接口。

请注意,Deque接口既可用作后进先出的栈,也可用作先进先出的队列。 Deque接口中的方法分为三部分:

插入

addFirstofferFirst方法在Deque实例的开头插入元素。addLastofferLast方法在Deque实例的末尾插入元素。当Deque实例的容量受限时,首选的方法是offerFirstofferLast,因为如果满了,addFirst可能会失败而不抛出异常。

删除

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

检索

getFirstpeekFirst方法检索Deque实例的第一个元素。这些方法不会从Deque实例中删除值。类似地,getLastpeekLast方法检索最后一个元素。如果deque实例为空,则getFirstgetLast方法抛出异常,而peekFirstpeekLast方法返回NULL

插入、删除和检索Deque元素的12个方法总结在下表中:

Deque方法
操作类型 第一个元素(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实例中存在,则返回true


上一页: 队列接口
下一页: 映射接口