【问题标题】:How to use Arrays.sort如何使用 Arrays.sort
【发布时间】:2017-04-01 20:13:00
【问题描述】:

如果我有以下代码:

    Arrays.sort(sums, new Comparator<Pair>() {
       public int compare(Pair a, Pair b) {
           return a.sum - b.sum;
       } 
    });

它是将我的值从小到大还是从大到小排序?除了 Comparator,还有什么我可以用来定义我的分拣机的吗?

【问题讨论】:

  • 你为什么不打印出来自己看看呢?

标签: arrays sorting compare comparator


【解决方案1】:
Arrays.sort(sums, new Comparator<Pair>() {
       public int compare(Pair a, Pair b) {
           return a.sum - b.sum;
       } 
    });

遍历这段代码,它只是逐个比较每个元素的 sums

返回语句结果在这里是确定的。所以它基本上有3个输出。

如果它返回一个负数,那么第二个是 b 在你的情况下,所以它小于 a;把它放在头上。然后它继续比较下一个元素。

如果返回正数,则第一个大于第二个。所以它把 a 放在 b 之后。

如果返回 0,则比较的两个元素的比较属性相等。

因此,假设有一个元素列表。 [3, 5, 2, 8] 会变成 --> [2, 3, 5, 8]

与您想要的任何属性进行比较完全取决于您。 我希望这能更好地说明问题。

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    • 2015-11-26
    相关资源
    最近更新 更多