我已经创建了一个包含整数列表的列表,我想根据其元素的总和对列表列表进行排序,但是实际上我不知道该怎么做; /
public static void main(String[] args) {
List<List<Integer>> listList = Arrays.asList(
Arrays.asList(1, 2, 3),
Arrays.asList(5, 4, 3),
Arrays.asList(27, 4, 33),
Arrays.asList(27, 41, 33)
);
List<Integer> sumList = listList.stream()
.sorted((list1, list2) -> {
int sumlistCompare = Integer.sum()
})
答案 0 :(得分:0)
您可以计算列表的总和并在排序为时进行比较:
private int sumOfList(List<Integer> list) {
return list.stream().mapToInt(i -> i).sum();
}
List<List<Integer>> sumListSort = listList.stream()
.sorted(Comparator.comparingInt(SampleClass::sumOfList))
.collect(Collectors.toList());
答案 1 :(得分:0)
List<List<Integer>> sortedListOfLists = listList.stream()
.sorted((list1, list2) -> {
int list1Sum = list1.stream().mapToInt(Integer::intValue).sum();
int list2Sum = list2.stream().mapToInt(Integer::intValue).sum();
return list1Sum - list2Sum;
}).collect(Collectors.toList());