Java 获取数字流的范围

Java 获取数字流的范围,java,java-8,java-stream,Java,Java 8,Java Stream,给定一个doubleStreams,我可以做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;

给定一个
doubleStreams
,我可以做
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());新范围(s.stream().min(),s.stream().max());

您可以调用。它返回一个
DoubleSummaryStatistics
对象,该对象包含一个最小值和一个最大值,以及一些其他统计信息:平均值、计数和总和

IntStream
LongStream
具有类似的
summaryStatistics
方法