Java - Collections.binarySearch 与 PriorityQueue?

msr*_*msr 0 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!

       }
    }
Run Code Online (Sandbox Code Playgroud)

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

为什么?

提前致谢!

eri*_*son 5

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

我知道这可能不是您所希望的答案;我已经看到将工具用于非预期目的会产生太多问题,我觉得我应该提出警告。