0

我可以使用 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)”

为什么?

提前致谢!

4

2 回答 2

5

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

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

于 2010-05-21T22:00:55.797 回答
0

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

于 2010-05-21T22:16:28.290 回答