45

为什么两个函数做同样的事情?

http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html的 java api 文档中提供的描述是相同的。

4

1 回答 1

99

这两个函数来自两个不同的接口,它们PriorityQueue实现:

  • add()来自Collection.
  • offer()来自Queue.

对于容量受限的队列,不同的是,如果不能添加元素,则add()总是返回true并抛出异常,而如果不能添加元素,则offer()允许返回false

但是,这不适用于PriorityQueue; 这两个功能是同义词。

于 2013-03-23T20:02:40.840 回答