队列
细节记录
public interface Queue<E> extends Collection<E> {
/**
* 在容量限制满足的情况下成功添加 返回 true
* 如果当前没有可用空间 抛出illeglastateException异常
*/
boolean add(E e);
/**
* 在容量限制满足的情况下成功添加 返回 true
* 如果当前没有可用空间 返回 false
*/
boolean offer(E e);
/**
* 返回并删除此队列的头。
* 如果此队列为空,将抛出NoSuchElementException
*/
E remove();
/**
* 返回并删除此队列的头。
* 如果此队列为空,将返回null
*/
E poll();
/**
* 返回此队列的头。
* 如果此队列为空,将抛出NoSuchElementException
*/
E element();
/**
* 返回此队列的头。
* 如果此队列为空,将返回null
*/
E peek();
}
相近方法的区别
offer,add区别:
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝,
offer方法返回的 false;
add方法抛出一个 unchecked 异常(illeglastateException)。
poll,remove区别:
remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似。
在用空集合调用时
poll方法返回 null
remove方法抛出NoSuchElementException异常
peek,element区别:
element() 和 peek() 用于在队列的头部查询元素。
在用空集合调用时:
peek方法返回 null
element方法抛出NoSuchElementException异常