Queue 除了基本的 Collection
操作外,还提供其他的插入、提取和检查操作。每个方法都存在两种形式:一种抛出异常(操作失败时),另一种返回一个特殊值(null 或 false,具体取决于操作)。插入操作的后一种形式是用于专门为有容量限制的 Queue 实现设计的。
Deque支持在两端插入和移除元素。大多数 Deque 实现对于它们能够包含的元素数没有固定限制,但此接口既支持有容量限制的双端队列,也支持没有固定大小限制的双端队列。
//继承于Collection接口
public interface Queue<E> extends Collection<E> {
boolean add(E e);//添加元素,如果空间有限制,则抛出异常
boolean offer(E e);//添加元素,如果空间有限制,不会抛出异常
E remove();//获取并移除队列头元素
E poll();//移除队列头部元素
E element();//获取元素,但不移除元素
E peek();//获取元素
}
//继承了Queue接口
public interface Deque<E> extends Queue<E> {
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);//从此双端队列移除第一次出现的指定元素。
boolean removeLastOccurrence(Object o);//从此双端队列移除最后一次出现的指定元素。
boolean add(E e);//添加元素到尾部,超过容量限制,抛出异常
boolean offer(E e);//添加元素到尾部,超过容量限制,不抛出异常
E remove();//获取并移除队列头元素
E poll();//获取并移除队列头元素
E element();//获取元素,并不删除元素
E peek();//获取元素
void push(E e);//压入元素
E pop();//弹出元素
boolean remove(Object o);//从队列移除第一次出现的元素o
boolean contains(Object o);//判断是否有元素o
public int size();//返回队列的长度
Iterator<E> iterator();
Iterator<E> descendingIterator();
}