我正在尝试按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 ×1