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

时间:2019-06-19 09:27:25

标签: java java-stream

我想阅读以下csv文件:

1,2,3
1,2,3
1,2,3

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

Files.lines(filePath)
    .map(line -> line.split(","))
          //Here 
    .collect(Collectors.toList());

2 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

这就是我的想法

    List<String> list = Files.lines(path)
            .map(line -> line.split(","))
            .flatMap(Arrays::stream)
            .collect(Collectors.toList())
           ;