为什么两个函数做同样的事情?
java api中提供的说明http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html上的文档是相同的。
答案 0 :(得分:51)
这两个函数来自PriorityQueue
实现的两个不同接口:
add()
来自Collection
。offer()
来自Queue
。对于容量受限的队列,区别在于add()
始终返回true
并在无法添加元素时抛出异常,而允许offer()
返回false
{1}}如果无法添加元素。
但是,这不适用于PriorityQueue
;这两个函数是同义词。