2014-09-10 90 views
-1

Queue为什么Queue有两种不同的方法,分别用于检索元素和删除元素?队列方法的差异

检索方法:element()Element peak() 删除方法:Element poll()Element remove()

它们之间有什么区别(除了在第一种情况下返回类型不同)?根据javadoc的

+5

RTFM:http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html – isnot2bad 2014-09-10 15:06:15

回答

2

你真的应该读的JavaDoc为Queue

remove()

获取并移除此队列的头。 此方法与轮询的区别仅在于,如果此队列为空,则会引发异常。

element()

获取,但不移除此队列的头。 此方法与peek不同,只是因为如果此队列为空,它会引发异常。

(重点煤矿。)

0

   Throws exception  Returns special value 
Insert   add(e)    offer(e) 
Remove   remove()    poll() 

这里特殊的值表示:

返回: 真如果元素被加入到这个队列中,否则为假

点该队列是否可以具有预定义的最大长度,如果您尝试在其为空时插入它,则可以使用add和get Exception或offer和ge牛逼假返回(也可能是空的,你要删除的元素)