Deque接口通常读作deck,deque是双端队列,双端队列是元素的线性集合,支持在两个端点处插入和移除元素,Deque接口是比Stack和Queue更丰富的抽象数据类型,因为它同时实现堆栈和队列。Deque接口定义了访问Deque实例两端元素的方法,提供了插入、移除和检查元素的方法,ArrayDeque和LinkedList等预定义类实现了Deque接口。请注意,Deque接口既可以用作后进先出堆栈,也可以用作先进先出队列,Deque接口中给出的方法分为三个部分。插入addfirst和offerFirst方法在Deque实例的开头插入元素,方法addLast和offerLast在Deque实例的末尾插入元素,当Deque实例的容量受到限制时,首选方法是offerFirst和offerLast,因为如果队列已满,则addFirst可能无法抛出异常。移除removeFirst和pollFirst方法从Deque实例的开头删除元素,removeLast和pollLast方法从末尾删除元素,如果Deque为空,则方法pollFirst和pollLast返回null,而如果Deque实例为空,则方法removeFirst和removeLast会抛出异常。检索方法getFirst和peekFirst检索Deque实例的第一个元素,这些方法不会从Deque实例中删除该值。同样,方法getLast和peekLast检索最后一个元素,如果deque实例为空,则方法getFirst和getLast会抛出异常,而方法peekFirst和peekLast将返回NULL。下面列出了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。上一篇:Queue接口下一篇:Map接口