使用Java 8 Stream API收集列表列表

thi*_*gcm 0 java java-8 java-stream

我有一个从文件中读取的以下线路流

1 2 4.5

1 6 3 5.5 5.3 6

1 7.2 5 7

如何只考虑整数,我如何在单个列表中收集这些行?(请注意,在每一行中,数字由一个或多个空格分隔)

这是我尝试过的,但这给了我一个所有整数元素的列表.

        list = reader.lines()
            .map(m -> m.split("\\n"))
            .flatMap(Arrays::stream)
            .map(m -> m.split("\\s+"))
            .flatMap(Arrays::stream)
            .filter(f -> !f.contains("."))
            .map(Integer::parseInt)
            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

Lou*_*man 6

reader.lines()
   .map(line -> Arrays.stream(line.split("\\s+"))
                      .filter(f -> !f.contains("."))
                      .map(Integer::parseInt)
                      .collect(Collectors.toList())
   .collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)