小编Mos*_*man的帖子

Java 中对 List<List<Integer>> 进行排序

我正在尝试按List<List<Integer>>字典顺序排序。但我无法实现目标,也不知道问题出在哪里。

List<List<Integer>> result = new ArrayList<List<Integer>>();

    result.add(Arrays.asList(1, 3, 76, 99));
    result.add(Arrays.asList(1, 2, 84, 92));
    result.add(Arrays.asList(1, 1, 76, 99));

    java.util.Collections.sort(result, (item1, item2) -> {

        if (item1.get(0) > item2.get(0) || item1.get(1) > item2.get(1) || item1.get(2) > item2.get(2)
                || item1.get(3) > item2.get(3)) {
            return 1;
        } else {
            return -1;
        }
    });
Run Code Online (Sandbox Code Playgroud)

预期输出:[[1, 1, 76, 99], [1, 2, 84, 92], [1, 3, 76, 99]]

但我得到 [[1, 3, 76, 99], [1, 2, 84, 92], [1, 1, 76, 99]]

我希望索引最小的数字会排在第一位。在示例中,所有三个列表的第一个位置都是 1,因此没有变化。在第二个位置,第 3 个列表有 …

java

2
推荐指数
1
解决办法
622
查看次数

标签 统计

java ×1