天天看点

Queue中add和offer、poll和remove、 peek和element区别

offer,add区别:

Queue 中 add() 和 offer()都是用来向队列添加一个元素。

在容量已满的情况下,add() 方法会抛出IllegalStateException异常,offer() 方法只会返回 false 。一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。

poll,remove区别:

remove() 和 poll() 方法都是从队列中删除第一个元素。

remove() 的行为与 Collection 接口的版本相似,但是新的 poll() 方法在用空集合调用时不是抛出异常,只是返回 null。因此新的方法更适合容易出现异常条件的情况。

peek,element区别:

element() 和 peek() 用于在队列的头部查询元素。

与 remove() 方法类似,在队列为空时, element() 抛出一个异常,而 peek() 返回 null