我可以使用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)”
为什么?
提前致谢!
最佳答案
您不应将搜索算法应用于优先级队列。优先级队列旨在提供对集合中最高优先级元素的高效访问,仅此而已。
我知道这可能不是您希望的答案;我已经看到由于出于非预期目的使用工具而引起的太多问题,因此我应该提个警告。