通过源码可以发现Deque可以实现双端队列,队列,栈
package java.util;
//双端队列接口,双端队列也要理解成有方向的
public interface Deque<E> extends Queue<E> {
//双向队列的方法 *****************************************************************//
//队列方法:add(队列满抛异常),offer,remove(队列空抛异常),poll,element(队列空抛异常),peek
void addFirst(E e);//从前添加,满则抛异常
void addLast(E e);//从后添加
boolean offerFirst(E e);
boolean offerLast(E e);
E removeFirst();
E removeLast();
E pollFirst();
E pollLast();
E getFirst();//获取第一个对象但不移除,队列空抛异常
E getLast();//获取最后一个对象但不移除,队列空抛异常
E peekFirst();
E peekLast();
boolean removeFirstOccurrence(Object o);//从前往后删除deque中第一个匹配对象
boolean removeLastOccurrence(Object o); //从后往前删除deque中第一个匹配对象
//单向队列的方法 *****************************************************************//
boolean add(E e);
boolean offer(E e);
E remove();
E poll();
E element();
E peek();
// 栈的方法 **********************************************************************//
void push(E e);
E pop();
// *** Collection methods *************************************************************//
boolean remove(Object o);
boolean contains(Object o);
public int size();
Iterator<E> iterator();
Iterator<E> descendingIterator();
} 
京公网安备 11010502036488号