如何读取包含浮点数的txt文件,这些浮点数由使用流的空格分隔,以获得总和、平均值、最大值和最小值?

sxpgvts3  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(301)
try (Stream<String> lines = Files.lines(file.toPath()).parallel()) {
    lines.map(line -> Stream.of(line.split(" ")) //Something something more         
}

这就是我到目前为止所拥有的,我不知道如何获取对象流并将其Map到双流,以便检索摘要统计信息
以下是仅使用Map回答此问题的解决方案:

lines.map(line -> Stream.of(line.split(" ")))
.reduce((e1, e2) -> Stream.concat(e1, e2)).get()
.mapToDouble(Double::parseDouble)
.summaryStatistics()

注解中给出了使用flatmap的解决方案
谢谢大家的帮助!

20jt8wwn

20jt8wwn1#

我不确定这是否就是你的意思:

try (Stream<String> lines = Files.lines(file.toPath()).parallel()) {
    lines.flatMap(line -> Stream.of(line.split(" ")))
            .mapToDouble(Double::parseDouble)
            .summaryStatistics();
}

相关问题