小编Coz*_*ama的帖子

Java 数组排序列表与列表排序列表

我有一个点列表,其中每个都是一个很小的​​size列表2。我想按 的升序对点列表进行排序x,如果x值相等,我通过按 的降序排序来打破平局y

我编写了一个自定义比较器来对点进行排序,如下所示:

Collections.sort(points, (a, b) -> {
    if (a.get(0) != b.get(0)) {
        return a.get(0) - b.get(0);
    } return b.get(1) - a.get(1); 
});
Run Code Online (Sandbox Code Playgroud)

这是排序之前的输入

(2, 1000)
(9, -1000)
(3, 15)
(9, -15)
(5, 12)
(12, -12)
(5, 10)
(10001, -10)
(19, 8)
(10001, -8)
Run Code Online (Sandbox Code Playgroud)

这是使用上述比较器排序后产生的结果:

(2, 1000)
(3, 15)
(5, 12)
(5, 10)
(9, -15)
(9, -1000)
(12, -12)
(19, 8)
(10001, -10) …
Run Code Online (Sandbox Code Playgroud)

java sorting list comparator

7
推荐指数
2
解决办法
368
查看次数

标签 统计

comparator ×1

java ×1

list ×1

sorting ×1