Java - 使用PriorityQueue的Collections.binarySearch?

时间:2010-05-21 21:58:15

标签: 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&gt;,T)不适用于参数(PriorityQueueCAP,Evento)”

为什么?

提前致谢!

2 个答案:

答案 0 :(得分:4)

您不应将搜索算法应用于优先级队列。优先级队列旨在提供对集合中最高优先级元素的有效访问,这就是全部。

我知道这可能不是你所希望的答案;我发现使用工具出于意想不到的目的会产生太多问题,我觉得我应该提出警告。

答案 1 :(得分:0)

tutorial向您展示如何启动集合以及您可以对其执行的可能操作。你应该记住埃里克森说的话。