Java队列中的add和offer方法有什么区别?
以http://java.sun.com/j2se/1.5.0/docs/api/java/util/PriorityQueue.html#offer(E)PriorityQueue
为例
谁能给我一个例子,Queue
其中add
和offer
方法有所不同?
根据Collection
文档,该add
方法通常会试图确保元素存在于Collection
而不是添加重复项中。所以我的问题是add
和offer
方法之间有什么区别?
该offer
方法是否会添加重复项?(我怀疑这是因为如果a Collection
仅包含不同的元素,则会绕开它)。
编辑:在PriorityQueue
中add
和offer
方法是相同的方法(见我的回答如下)。谁能给我一个与add
和offer
方法不同的类的示例?
回答:
我想合同的区别在于,当无法将元素添加到集合时,该add
方法将引发异常,而offer
不会。
来自:http
:
//java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html#add%28E%29
如果某个集合由于已包含该元素以外的其他原因拒绝添加该元素,则它
异常(而不是返回false)。这保留了不变,即在此调用返回之后,集合始终包含指定的元素。
来自:http
:
//java.sun.com/j2se/1.5.0/docs/api/java/util/Queue.html#offer%28E%29
如果可能,将指定的元素插入此队列。当使用可能施加插入限制(例如容量限制)的队列时,方法offer通常比方法Collection.add(E)更好,后者只能通过引发异常来插入元素。
以上是 Java队列中的add和offer方法有什么区别? 的全部内容, 来源链接: utcz.com/qa/419772.html