📌  相关文章
📜  Java中的 DoubleSummaryStatistics accept() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:47.144000             🧑  作者: Mango

Java中的 DoubleSummaryStatistics accept() 方法及示例

在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类型数值。
返回值
  • 无返回值。
示例

下面的代码片段展示了如何使用DoubleSummaryStatisticsaccept(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()方法获取统计信息。