面试题答案
一键面试实现思路
- 遍历外层
List<List<Integer>>
,对于每一个内层List
,计算其成绩总和。 - 使用
Collections.max
方法结合Comparator
来比较内层List
的成绩总和,找到总和最高的那一组。
核心代码片段
import java.util.*;
public class HighestScoreList {
public static List<Integer> findHighestScoreList(List<List<Integer>> scoreLists) {
return Collections.max(scoreLists, Comparator.comparingInt(list -> list.stream().mapToInt(Integer::intValue).sum()));
}
}
你可以通过以下方式调用这个方法:
public class Main {
public static void main(String[] args) {
List<List<Integer>> scoreLists = new ArrayList<>();
scoreLists.add(Arrays.asList(85, 90, 78));
scoreLists.add(Arrays.asList(92, 88, 95));
scoreLists.add(Arrays.asList(70, 80, 85));
List<Integer> highestScoreList = HighestScoreList.findHighestScoreList(scoreLists);
System.out.println("成绩总和最高的那一组成绩: " + highestScoreList);
}
}