📅  最后修改于: 2023-12-03 14:42:47.144000             🧑  作者: Mango
在Java中,DoubleSummaryStatistics
是用于统计一组double类型值的汇总统计信息的类。它提供了丰富的方法来收集和处理一组double值,例如计算最大值、最小值、平均值、总和等等。
accept(double value)
方法accept(double value)
方法是DoubleSummaryStatistics
类中的一个成员方法,用于向汇总统计信息对象中添加一个double类型值。这个方法在多个地方被使用,例如,在Java 8中的Stream API中,我们可以使用它把一组double类型值添加到一个DoubleSummaryStatistics
对象中。
public void accept(double value)
value
:需要添加到汇总统计信息对象中的double类型数值。下面的代码片段展示了如何使用DoubleSummaryStatistics
和accept(double value)
方法来统计一组double类型值的汇总统计信息:
import java.util.DoubleSummaryStatistics;
import java.util.stream.DoubleStream;
public class DoubleSummaryStatisticsExample {
public static void main(String[] args) {
DoubleStream doubleStream = DoubleStream.of(2.3, 3.5, 1.0, 5.5, 4.3);
DoubleSummaryStatistics stats = doubleStream.collect(DoubleSummaryStatistics::new, DoubleSummaryStatistics::accept, DoubleSummaryStatistics::combine);
System.out.println("Max: " + stats.getMax());
System.out.println("Min: " + stats.getMin());
System.out.println("Sum: " + stats.getSum());
System.out.println("Average: " + stats.getAverage());
System.out.println("Count: " + stats.getCount());
}
}
输出:
Max: 5.5
Min: 1.0
Sum: 16.6
Average: 3.32
Count: 5
在上面的示例中,我们使用DoubleStream
创建了一个包含5个double类型数字的流。我们使用collect()
方法,调用accept()
方法将流中的元素添加到DoubleSummaryStatistics
对象中。最后,我们使用getMax()
、getMin()
、getSum()
、getAverage()
和getCount()
方法获取汇总统计信息对象中的最大值、最小值、总和、平均值和数量。
注意,当我们使用Java 8中的Stream API来收集一组基本数据类型时,我们不能使用Collectors
类,而应该使用collect()
方法的另一个重载版本,该方法获取三个参数:一个Supplier对象、一个BiConsumer对象,以及一个BinaryOperator对象。在这里,我们使用了DoubleSummaryStatistics::new
作为Supplier对象,DoubleSummaryStatistics::accept
作为BiConsumer对象,DoubleSummaryStatistics::combine
作为BinaryOperator对象。这将创建一个DoubleSummaryStatistics
对象,然后将流中的元素逐个添加到该对象中。最后,我们使用getMax()
、getMin()
、getSum()
、getAverage()
和getCount()
方法获取统计信息。