鉴于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());
)
答案 0 :(得分:9)
您可以致电DoubleStream
's summaryStatistics
method。它返回一个DoubleSummaryStatistics
对象,其中包含min和max,以及一些其他统计信息:average,count和sum。
IntStream
和LongStream
有类似的summaryStatistics
方法。