获取数字流的范围

时间:2015-10-29 23:48:18

标签: java java-8 java-stream

鉴于DoubleStream s,我可以s.min()s.max()但不能同时执行,因为其中任何一个都会使用该流。

现在假设我有

class Range /* can add code here */ {
    private final double min;
    private final double max;
    Range(double min, double max){
        this.min = min;
        this.max = max;
    }
    // can add code here
}

如何获取流的范围? (除了s.collect(Collectors.toList()); new Range(s.stream().min(),s.stream().max());

1 个答案:

答案 0 :(得分:9)

您可以致电DoubleStream's summaryStatistics method。它返回一个DoubleSummaryStatistics对象,其中包含min和max,以及一些其他统计信息:average,count和sum。

IntStreamLongStream有类似的summaryStatistics方法。