Queue
设计用于在处理前保存元素的集合。除了基本的收集操作外,队列还提供附加的插入、提取和检查操作。这些方法都有两种形式:一种是在操作失败时抛出异常,另一种是返回特殊值(null或false,具体取决于操作)。插入操作的后一种形式专门设计用于容量受限的队列实现;在大多数实现中,插入操作不会失败。
增加:add(e) offer(e)
删除:remove(e) poll(e)
检查:element(e) peek(e)
1.接口的定义
public interface Queue<E> extends Collection<E> {
// 1.继承至Collection
// 2.使用泛型E
}
2.主要方法
public interface Queue<E> extends Collection<E> {
//插入元素,则会在成功时返回true,如果当前没有可用空间,则会引发IllegalStateException
boolean add();
// 检索并删除此队列的头。此方法与轮询的不同之处在于,如果此队列为空,它将引发异常
E remove();
// 检索但不删除此队列的头。此方法与peek的不同之处在于,如果此队列为空,它将引发异常
E element();
// 如果可以在不违反容量限制的情况下立即将指定元素插入此队列中
boolean offer(E e);
// 检索并删除此队列的头,如果此队列为空,则返回null
E poll();
// 检索但不删除此队列的头,如果此队列为空,则返回null
E peek();
}
3.常用子类
- Deque
- BlockingQueue
- AbstractQueue