Java - Collections.binarySearch 与 PriorityQueue?

标签 java collections priority-queue

我可以使用 Collections.binarySearch() 方法来搜索 PriorityQueue 中的元素吗?否则,如何将搜索算法应用于 PriorityQueue?

我有这个(Evento 类实现了 Comparable):

    public class PriorityQueueCAP extends PriorityQueue<Evento>{

       // (...)

       public void removeEventos(Evento evento){

           Collections.binarySearch(this, evento); // ERROR!

       }
    }

我得到了这个错误:“集合类型中的方法binarySearch(List>, T)不适用于参数(PriorityQueueCAP, Evento)”

为什么?

提前致谢!

最佳答案

您不应将搜索算法应用于优先级队列。优先级队列旨在提供对集合中最高优先级元素的有效访问,仅此而已。

我知道这可能不是您所希望的答案;我见过太多因使用工具达到非预期目的而产生的问题,因此我觉得我应该提出警告。

关于Java - Collections.binarySearch 与 PriorityQueue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2885877/

相关文章:

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

C++ 运行时对象指针的优先级队列错误为无效堆

Java While 循环未正确添加

java - MongoDB:如何实现 PUT 方法来保存对象?

java - 具有多个实例但具有唯一对象标识的已排序集合

java - 以线程安全的方式获取集合的内容

angular - 将值传递给组件时是否存在可选的 input() 条件?

c++ - 在保持数组有序的同时插入和删除数组中的元素

java - selenium - 不可点击的链接

java - 我是安卓开发新手。我有个问题