MST

星途 面试题库

面试题:Java Collections工具类在复杂集合查找中的应用

现有一个List<List<Integer>>这样的嵌套集合,其中内部List表示一组成绩。要求使用Collections工具类找到所有内部List中成绩总和最高的那一组,并返回该组成绩。请描述实现思路并给出核心代码片段。
20.3万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

实现思路

  1. 遍历外层 List<List<Integer>>,对于每一个内层 List,计算其成绩总和。
  2. 使用 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);
    }
}