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

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

    public class PriorityQueueCAP extends PriorityQueue<Evento>{

       // (...)

       public void removeEventos(Evento evento){

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

       }
    }


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

为什么?

提前致谢!

最佳答案

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

我知道这可能不是您希望的答案;我已经看到由于出于非预期目的使用工具而引起的太多问题,因此我应该提个警告。

07-24 09:34