我可以使用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)”
为什么?
提前致谢!
答案 0 :(得分:4)
您不应将搜索算法应用于优先级队列。优先级队列旨在提供对集合中最高优先级元素的有效访问,这就是全部。
我知道这可能不是你所希望的答案;我发现使用工具出于意想不到的目的会产生太多问题,我觉得我应该提出警告。
答案 1 :(得分:0)
此tutorial向您展示如何启动集合以及您可以对其执行的可能操作。你应该记住埃里克森说的话。