codecamp

鸿蒙OS DoubleSummaryStatistics

DoubleSummaryStatistics

java.lang.Object

|---java.util.DoubleSummaryStatistics

public class DoubleSummaryStatistics
extends Object
implements DoubleConsumer

用于收集计数、最小值、最大值、总和和平均值等统计信息的状态对象。

此类设计用于(尽管不需要)流。 例如,您可以使用以下方法计算双精度流的汇总统计信息:

  DoubleSummaryStatistics stats = doubleStream.collect(DoubleSummaryStatistics::new,
                                                      DoubleSummaryStatistics::accept,
                                                      DoubleSummaryStatistics::combine);

DoubleSummaryStatistics 可用作流的缩减目标。 例如:

  DoubleSummaryStatistics stats = people.stream()
     .collect(Collectors.summarizingDouble(Person::getWeight));

这会在一次通过中计算人数,以及他们的权重的最小值、最大值、总和和平均值。

构造函数摘要

构造函数 描述
DoubleSummaryStatistics() 构造一个具有零计数、零和、Double.POSITIVE_INFINITY 最小值、Double.NEGATIVE_INFINITY 最大值和零平均值的空实例。

方法总结

修饰符和类型 方法 描述
void accept(double value) 将另一个值记录到摘要信息中。
void combine(DoubleSummaryStatistics other) 将另一个 DoubleSummaryStatistics 的状态合并到这个中。
double getAverage() 返回记录值的算术平均值,如果没有记录值,则返回零。
long getCount() 返回记录的值的计数。
double getMax() 返回最大记录值,如果任何记录值为 NaN,则返回 Double.NaN;如果没有记录值,则返回 Double.NEGATIVE_INFINITY。
double getMin() 返回最小记录值,如果任何记录值为 NaN,则返回 Double.NaN;如果没有记录值,则返回 Double.POSITIVE_INFINITY。
double getSum() 返回记录值的总和,如果没有记录值,则返回零。
String toString() 返回对象的字符串表示形式。
从接口 java.util.function.DoubleConsumer 继承的方法
andThen
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

构造函数详细信息

DoubleSummaryStatistics

public DoubleSummaryStatistics()

构造一个具有零计数、零和、Double.POSITIVE_INFINITY 最小值、Double.NEGATIVE_INFINITY 最大值和零平均值的空实例。

方法详情

accept

public void accept(double value)

将另一个值记录到摘要信息中。

指定者:

在接口 DoubleConsumer 中接受

参数:

参数名称 参数描述
value 输入值

combine

public void combine(DoubleSummaryStatistics other)

将另一个 DoubleSummaryStatistics 的状态合并到这个中。

参数:

参数名称 参数描述
other 另一个 DoubleSummaryStatistics

Throws:

Throw名称 Throw描述
NullPointerException 如果其他为空

getCount

public final long getCount()

返回记录的值的计数。

返回:

值的计数

getSum

public final double getSum()

返回记录值的总和,如果没有记录值,则返回零。 如果任何记录的值是 NaN 或总和在任何点都是 NaN,则总和将为 NaN。

浮点和的值是输入值和加法运算顺序的函数。 故意不定义此方法的加法运算顺序,以允许实现灵活性以提高计算结果的速度和准确性。 特别地,与双值的简单求和相比,该方法可以使用补偿求和或其他技术来实现以减少数值求和中的误差界限。

返回:

值的总和,如果没有则为零

getMin

public final double getMin()

返回最小记录值,如果任何记录值为 NaN,则返回 Double.NaN;如果没有记录值,则返回 Double.POSITIVE_INFINITY。 与数值比较运算符不同,此方法认为负零严格小于正零。

返回:

最小记录值,如果任何记录值为 NaN,则为 Double.NaN;如果未记录任何值,则为 Double.POSITIVE_INFINITY

getMax

public final double getMax()

返回最大记录值,如果任何记录值为 NaN,则返回 Double.NaN;如果没有记录值,则返回 Double.NEGATIVE_INFINITY。 与数值比较运算符不同,此方法认为负零严格小于正零。

返回:

最大记录值,如果任何记录值为 NaN,则为 Double.NaN;如果未记录任何值,则为 Double.NEGATIVE_INFINITY

getAverage

public final double getAverage()

返回记录值的算术平均值,如果没有记录值,则返回零。 如果任何记录的值是 NaN 或总和在任何点都是 NaN,则平均值将为代码 NaN。

返回的平均值可能因记录值的顺序而异。 该方法可以使用补偿求和或其他技术来实现,以减少用于计算平均值的数值和中的误差界限。

返回:

值的算术平均值,如果没有则为零

toString

public String toString()

返回对象的字符串表示形式。 通常,toString 方法返回一个“以文本方式表示”该对象的字符串。 结果应该是一个简洁但信息丰富的表示,易于人们阅读。 建议所有子类重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、at 符号字符“@”和对象哈希码的无符号十六进制表示形式组成。 换句话说,此方法返回一个等于以下值的字符串:

 getClass().getName() + '@' + Integer.toHexString(hashCode()) 

返回此对象的适合调试的非空字符串表示形式。 确切的表示格式未指定,并且可能因实现和版本而异。

覆盖:

类 Object 中的 toString

返回:

对象的字符串表示形式。

鸿蒙OS Dictionary
鸿蒙OS EnumMap
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }