Cra*_*lus 0 java queue collections priority-queue
我需要一个Max-Priority Queue数据结构.
查看Java的优先级队列,我注意到它是一个Min-Priority Queue.
来自javadoc:
此队列的头部是指定排序的最小元素
我看到有提供自定义的选项,Comparator并查看一些建议使用一个帖子并进行反向比较以实现a的结果Max Priority Queue.
这在我看来虽然是"丑陋的黑客",也许并不直观.
这是Max-Priority Queue获得Java标准集合的唯一方法吗?
是否有一个我错过的更合适的对象?(比如前一阵子我没意识到那Stack被Deque...... 替换了......我的坏)
AFAIK,是的,这是拥有你想要的东西的最佳方式.我真的不明白这是一个丑陋的黑客.如果只有一个就足够了,那就没有必要提供两个不同的类.如果我们按照你的推理,我们会有一个MinTreeSet和一个MaxTreeSet,一个MinTreeMap和一个MaxTreeMap等,所有这些都完全相同.这是战略模式的经典用法.
只需使用Collections.reverseOrder()一个比较器,按照自然顺序的相反顺序进行比较.
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |