Java 8 List <String []>到List <List <Integer >>

Nik*_*Nik 0 java java-stream

我想阅读以下csv文件:

1,2,3
1,2,3
1,2,3
Run Code Online (Sandbox Code Playgroud)

我使用的是Java 8,因此无法实现从List<String[]>到的转换 List<List<Integer>>

Files.lines(filePath)
    .map(line -> line.split(","))
          //Here 
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

ern*_*t_k 6

您将需要使用内部流进行映射:

Files.lines(filePath)
    .map(line -> line.split(","))
    .map(array -> Arrays.stream(array).map(Integer::valueOf)
                        .collect(Collectors.toList()))
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

  • 为什么要执行两个“映射”步骤?为什么不`.map(line-&gt; Arrays.stream(line.split(“,”))。map(Integer :: valueOf).collect(Collectors.toList()))`? (2认同)