队列中offer,add;poll,remove;peek,element之间的区别

offer和add的区别

offer() 和 add() 都是向队列中加入新项。

一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。

这时新的offer方法就可以起作用了。它不是对调用add()方法抛出一个unchecked异常,而只是得到由offer()返回的false。

poll和remove的区别

remove()和 poll()方法都是从队列中删除第一个元素。remove()的行为与Collection接口的版本相似,但是新的poll()方法在用空集合调用时不是抛出异常,只是返回null。因此新的方法更适合容易出现异常条件的情况。

队列为空时用remove()会抛出异常。

队列中offer,add;poll,remove;peek,element之间的区别_第1张图片

用poll()则是返回null。

队列中offer,add;poll,remove;peek,element之间的区别_第2张图片

peek和element的区别

element()和peek()用于在队列的头部查询元素。与remove()方法类似,在队列为空时,element()抛出一个异常,而peek()返回null。

队列为空时用element()会抛出异常。

队列中offer,add;poll,remove;peek,element之间的区别_第3张图片

 用peek()则是返回null。

队列中offer,add;poll,remove;peek,element之间的区别_第4张图片

 

你可能感兴趣的:(数据结构)