当前位置:  开发笔记 > 编程语言 > 正文

在Java中,我应该为首先返回最大元素的PriorityQueue使用什么?

如何解决《在Java中,我应该为首先返回最大元素的PriorityQueue使用什么?》经验,为你挑选了1个好方法。

Java的PriorityQueue将最少的元素放在列表的头部,但是我需要它将最大的元素放在头部.什么是获得行为类似的优先级队列的最佳方法.

由于我编写了存储在此队列中的类,因此我可以简单地反转其结果compareTo,而不是在此队列之外使用它.

但是我喜欢让代码准确地表示我正在建模的东西,我想要做的是先获得最大的代码所以代码应该说,而不是至少首先使用不同寻常的定义.

[编辑]只是一个快速的谢谢大家,比较器听起来像我需要的只是我自己如何写一个.



1> Hank Gay..:

传递一个比较器,它在您实例化PriorityQueue时反转自然顺序.

它看起来像这样:

public class ReverseYourObjComparator implements Comparator {
    public int compare(final YourObj arg0, final YourObj arg1) {
        return 0 - arg0.compareTo(arg1);
    }
}

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有