我可以使用Collections.binarySearch()方法來搜索PriorityQueue中的元素嗎?否則,我該如何將搜索算法應用於PriorityQueue?Java - Collections.binarySearch with PriorityQueue?
我有這個(類事件摘要實現可比):
public class PriorityQueueCAP extends PriorityQueue<Evento>{
// (...)
public void removeEventos(Evento evento){
Collections.binarySearch(this, evento); // ERROR!
}
}
而且我得到了這個錯誤:在類型集合「的方法的binarySearch(名單>,T)是不適用的參數(PriorityQueueCAP,事件)「
爲什麼?
在此先感謝!
「優先級隊列旨在提供對集合中最高優先級元素的有效訪問」。我用它來達到這個目的。不過,我也需要以有效的方式找到元素。我怎麼能做到這一點? – msr 2010-05-21 22:15:12
搜索堆的最有效方法是對其迭代器返回的每個元素進行O(n)檢查。 – erickson 2010-05-21 22:28:44
這就是我正在使用的。但似乎需要很長時間,因爲我必須這麼做,優先隊列的大小約爲5000(或更大)。 – msr 2010-05-21 22:42:19