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