获取数字流的范围

Mus*_*ful 4 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
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得流的范围?(除了s.collect(Collectors.toList()); new Range(s.stream().min(),s.stream().max());)

rge*_*man 9

你可以打电话给DoubleStream我的summaryStatistics方法.它返回一个DoubleSummaryStatistics包含min和max 的对象,以及一些其他统计信息:average,count和sum.

IntStreamLongStream有类似的summaryStatistics方法.