
ok 因为在题目里面遇到了Queue,所以我就来了解一下Queue这个接口的功效吧!
来看看里面的注释是怎么说这个类的,英语四级启动!:

它说这是一个围在处理钱保存元素和设计的集合。基于util类库的操作,队列支持 额外的 插入、 提取 检查 操作。
每一个方法都存在两个形式:
1)在操作失败时抛出一个异常。
2)返回一个特殊值 null 或 false (取决于你的操作)。
第二种形式 在 插入操作中被特别设计成容量受限的情况。在大多数的情况下,插入操作不能出错。
来看看Queue接口的源码
1 |
public interface <E> extends Collection<E> { |
Queue从jdk1.5出现 继承Collection这个接口,方法一共有六个:
add方法
1 |
boolean add(E e); |
将指定的元素插入此队列,成功则返回true,如果没有足够的空间 则抛出一个异常。
可能的异常有4个IllegalStateException、ClassCastException、NullPointerException、IllegalArgumentException
offer方法
1 |
boolean offer(E e); |
这个方法和add方法一样时将元素插入队列中的,不同之处在于,当队列因为没有足够空间插入元素时,这个元素会返回false而不是抛出IllegalStateException异常。
可能的异常有3个ClassCastException、NullPointerException、IllegalArgumentException。
remove方法
1 |
E remove(); |
检索并删除此队列的头部元素,这种方法在队列为空时会抛出异常 NoSuchElementException。
poll方法
1 |
E poll(); |
这个方法和remove方法一样,不同之处在于在队列为空时 poll是返回一个null而不是抛出异常。
element方法
1 |
E element(); |
检索但不删除队列的头部,如果队列为空则会抛出一个异常 NoSuchElementException。
peek方法
1 |
E peek(); |
这个方法和element方法一样,不同之处在于如果队列位空,返回的是null而不是抛出异常。




近期评论