接口定义
public interface Deque<E> extends Queue<E>{}
声明方法
// 将指定元素添加到对头
// 如果没有足够的空间则抛出异常
// throw IllegalArgumentException
void addFirst(E e);
// 将指定元素添加到对头
// 如果添加成功则返回true,如果没有足够的空间则返回false
// 如果是使用容量有限的队列,推荐使用该方法而不是addFirst
boolean offerFirst(E e);
// 将指定元素添加到队尾
// 如果没有足够的空间则抛出异常
// throw IllegalArgumentException
void addLast(E e);
// 添加指定元素到队尾
// 如果添加成功则返回true,如果没有足够空间则返回false
// 如果是使用容量有限的队列,推荐使用该方法而不是addLast
boolean offerLast(E e);
// 移除并返回对头元素
// 如果队列为空,则抛出异常
E removeFirst();
// 移除并返回队尾元素
// 如果队列为空,则抛出异常
E removeLast();
// 移除并返回对头元素
// 如果队列为空则返回null
E pollFirst();
// 移除并返回队尾元素
// 如果队列为空则返回null
E pollLast();
// 查询对头元素
// 如果队列为空,则抛出异常
E getFirst();
// 查询队尾元素
// 如果队列为空,则抛出异常
E getLast();
// 查询对头元素
// 如果队列为空,则返回null
E peekFirst();
// 查询队尾元素
// 如果队列为空,则返回null
E peekLast();
// 移除队列中出现的第一个元素
// 移除成功则返回true,如果队列不包含该元素则返回false
boolean removeFirstOccurrence(Object e);
boolean removeLastOccurrence(Object e);
// 以下是栈方法
void push(E e);
E pop();
// 返回一个逆序的迭代器,从队尾到对头
Iterator<E> descendingIterator();