通过源码可以发现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(); }