java - PriorityQueue<E> 类的方法添加可以返回 false 吗?

标签 java priority-queue

在oracle中的PriorityQueue类描述中,特别是关于方法add,页面说到add的返回值:

返回: true(由 Collection.add(E) 指定)

是不是说这个方法总是返回true?

提前致谢!

类(class)描述链接:https://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html

最佳答案

如果您单击文档中的链接,您将阅读 Collection.add 的内容说到返回值:

Ensures that this collection contains the specified element (optional operation). Returns true if this collection changed as a result of the call. (Returns false if this collection does not permit duplicates and already contains the specified element.)

因此返回值的约定是它必须始终返回 true except 如果:

  1. 该集合不允许重复
  2. 元素已经存在

PriorityQueue 是否允许重复?是的。因此它永远不会返回 false

关于java - PriorityQueue<E> 类的方法添加可以返回 false 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57586713/

相关文章:

c - 排序链表(ADT优先级队列)

c++ - C++优先级队列容器比较器中如何直观理解大于/小于运算符

java - ZXing 库无法解码 Datamatrix 条码

java - 循环绘制字符串未出现在 JFrame 中

java - 捕获 ENTER 键事件并改为单击

java - 如何避免在每次测试之前执行注释?

java - 如何在 Java 中为 Web 服务中的每个 API 调用特定方法?

C++ STL 比较类 : how to parameterize comp-class behaviour?

c - C语言中的优先级队列

java - 如何创建根据列表的自然顺序排序的 PQ?