一、Queue接口的描述
Queue接口,实现了 Collection接口。
队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
在Queue中,有 offer、add、poll、remove、peek、element六个方法
public interface Queue<E> extends Collection<E> {
boolean add(E e);
boolean offer(E e);
E remove();
E poll();
E element();
E peek();
}
二、offer/add函数,poll/remove函数,peek/element函数的区别
-
1、offer函数和add函数的区别
一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked 异常,而只是得到由 offer() 返回的 false。
-
2、poll函数和remove函数的区别
remove() 和 poll() 方法都是从队列中删除第一个元素。remove() 的行为与 Collection 接口的版本相似,
但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。
-
3、peek函数和element函数的区别
element() 和 peek() 用于在队列的头部查询元素。
与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null