Bub*_*pot 7 java heap performance priority-queue
在PriorityQueue的构造函数中,我们可以传入一个像List或Set这样的集合,在线性时间内构建PriorityQueue。但是,这也意味着 PriorityQueue 将使用默认的 Comparator。
我想使用自己的比较器,因此除了最小堆之外,我还可以拥有其他东西。我能想到的唯一方法是将集合包装在 SortedSet 中并在其中放置一个自定义比较器。
有没有其他好的方法来做到这一点?
假设你有一个 A 类(或一个 pojo),其中有一个int priority;
字段保存该对象及其 getter 的优先级,getPriority()
那么你将拥有如下所示的内容:
Queue<A> queue = new PriorityQueue<>(
4 //initialCapacity
, new Comparator<A>() {
public int compare(A p1, A p2) {
return Integer.valueOf(p1.getPriority()).compareTo(p2.getPriority());
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1075 次 |
最近记录: |