java - java中整数排序首先返回负数?

标签 java sorting

我有一个像这样的比较器:

Collections.sort( sortedPlayers, new Comparator<RoundPlayer>()
{
    public int compare(RoundPlayer p1, RoundPlayer p2)
    {
        return p1.getScore() - p2.getScore();
    }
});

已排序的玩家是玩家对象的列表,它们返回的分数是整数,例如 200、-300、1000 等。

比较器的目标是对它们进行降序排序,即 1000、200、-300。

但是这个比较器似乎返回不稳定的结果。通常先出现负数。

最佳答案

只需反转当前的返回值即可

示例

return p2.getScore() - p1.getScore(); //will sort in descending order

关于java - java中整数排序首先返回负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24418803/

相关文章:

java - 为什么 String.equals() 比它自己快?

java - 如何从 Qt 在 Android 客户端代码中调用 Google-Cloud-Messaging API?

python - 排序python元组包含不可比较的元素

javascript - 对选择了多个选项的选择元素进行排序会颠倒顺序

java - Android ComputableFuture 无法与 Firestore 配合使用

java - 当我们应该使用表达式时,为什么我们需要在 JSP 中使用隐式对象?

java - Tapestry 4.1.2 中的国际化页面属性

c++ - 如何使用 std::sort 在 C++ 中对数组进行排序

python - 根据两个键排序,第一个降序排序,第二个升序排序

algorithm - 合并排序与其他数据结构?