Queue:除了基本的Collection操作外,队列还提供其他的插入、提取和检查操作。每个方法都存在两种形
式:一种抛出异常(操作失败时),另一种返回一个特殊值(null或false,具体取决于操作)。插入操作
的后一种形式是用于专门为有容量限制的Queue实现设计的;在大多数实现中,插入操作不会失败。
Queue接口并未定义阻塞队列的方法,而这在并发编程中是很常见的。
Queue实现通常不允许插入null元素,通常某些实现(如LinkedList)并不禁止插入null。即使在允许null
的实现中,也不应该将null插入到Queue队列中,因为null也用作poll方法的一个特殊返回值,表明队列不
包含元素。
boolean add(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成功是返回true,
如果当前没有可用的空间,则抛出IllegalStateException.
E element();获取,但是不移除此队列的头。
boolean offer(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),但是用有容量限制
的队列时,此方法通常要优于add(E),后者可能无法插入元素,而只是抛出一个异常。
E peek();获取但不移除此队列的头,如果队列为空,则返回null。
E pool();获取并移除此队列的头,如果队列为空,则返回null。
E remove();获取并移除此队列的头。
式:一种抛出异常(操作失败时),另一种返回一个特殊值(null或false,具体取决于操作)。插入操作
的后一种形式是用于专门为有容量限制的Queue实现设计的;在大多数实现中,插入操作不会失败。
Queue接口并未定义阻塞队列的方法,而这在并发编程中是很常见的。
Queue实现通常不允许插入null元素,通常某些实现(如LinkedList)并不禁止插入null。即使在允许null
的实现中,也不应该将null插入到Queue队列中,因为null也用作poll方法的一个特殊返回值,表明队列不
包含元素。
boolean add(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成功是返回true,
如果当前没有可用的空间,则抛出IllegalStateException.
E element();获取,但是不移除此队列的头。
boolean offer(E e);将指定的元素插入此队列(如果立即可行且不会违反容量限制),但是用有容量限制
的队列时,此方法通常要优于add(E),后者可能无法插入元素,而只是抛出一个异常。
E peek();获取但不移除此队列的头,如果队列为空,则返回null。
E pool();获取并移除此队列的头,如果队列为空,则返回null。
E remove();获取并移除此队列的头。