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
返回:
对象的字符串表示形式。