【发布时间】:2014-09-10 15:03:31
【问题描述】:
为什么Queue 有两种不同的方法分别用于检索元素和删除元素?
检索方法:element() 和 Element peak()
删除方法:Element poll()和Element remove()
它们之间有什么区别(第一种情况下的返回类型差异除外)?
【问题讨论】:
标签: java methods data-structures queue fifo
为什么Queue 有两种不同的方法分别用于检索元素和删除元素?
检索方法:element() 和 Element peak()
删除方法:Element poll()和Element remove()
它们之间有什么区别(第一种情况下的返回类型差异除外)?
【问题讨论】:
标签: java methods data-structures queue fifo
根据javadoc:
Throws exception Returns special value
Insert add(e) offer(e)
Remove remove() poll()
这里的特殊值是指:
返回: 如果元素已添加到此队列,则为 true,否则为 false
关键是队列可以有预定义的最大长度,如果你尝试在它为空时插入它,你可以使用 add 并获取 Exception 或 offer 并返回 false (或者可能是空的并且你想删除一个元素)
【讨论】: