MST

星途 面试题库

面试题:Java中Stream的map方法在集合操作中的应用

假设有一个List<String>,每个字符串代表一个数字(如:["1", "2", "3"]),请使用Java Stream的map方法将其转换为List<Integer>,并计算这些整数的总和。
24.7万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> stringList = Arrays.asList("1", "2", "3");
        List<Integer> integerList = stringList.stream()
               .map(Integer::parseInt)
               .collect(Collectors.toList());
        int sum = integerList.stream()
               .mapToInt(Integer::intValue)
               .sum();
        System.out.println("转换后的整数列表: " + integerList);
        System.out.println("整数总和: " + sum);
    }
}
  1. 首先通过stringList.stream()List<String>转换为流。
  2. 然后使用map(Integer::parseInt)将流中的每个String元素转换为Integer
  3. 接着使用collect(Collectors.toList())将流转换回List<Integer>
  4. 对于计算总和,先将List<Integer>转换为IntStream(通过mapToInt(Integer::intValue)),然后使用sum()方法计算总和。