Java DoubleStream average()的例子

Java DoubleStream average()的例子

Java 8中的 java.util.stream.DoubleStream 处理原始的双数。它有助于解决老问题,如寻找数组中的最大值、寻找数组中的最小值、数组中所有元素的总和、数组中所有值的平均值等,以一种新的方式。 DoubleStream average() 返回一个OptionalDouble,描述此流中元素的算术平均值,如果此流为空,则返回一个空的Optional。如果任何记录的值是NaN或者总和在任何时候是NaN,那么平均数将是NaN。

语法:

OptionalDouble average()

Where, OptionalDouble is a container object 
which may or may not contain a double value.
Java

注: 返回的平均数可能因记录数值的顺序而不同。按绝对大小排序的元素往往能产生更准确的结果。

例1 :

// Java code for DoubleStream average()
import java.util.*;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // creating a stream
        DoubleStream stream = DoubleStream.of(2.5, 3.6, 4.7, 5.0, 6.2);
  
        // OptionalDouble is a container object
        // which may or may not contain a
        // double value.
        OptionalDouble obj = stream.average();
  
        // If a value is present, isPresent() will
        // return true and getAsDouble() will
        // return the value
        if (obj.isPresent()) {
            System.out.println(obj.getAsDouble());
        }
        else {
            System.out.println("-1");
        }
    }
}
Java

输出:

4.4
Java

例2 :

// Java code for DoubleStream average()
import java.util.*;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // OptionalDouble is a container object
        // which may or may not contain a
        // double value.
        OptionalDouble obj = DoubleStream.empty().average();
  
        // If a value is present, isPresent() will
        // return true and getAsDouble() will
        // return the value
        if (obj.isPresent()) {
            System.out.println(obj.getAsDouble());
        }
        else {
            System.out.println("-1");
        }
    }
}
Java

输出:

-1
Java

例3 :

// Java code for DoubleStream average()
import java.util.*;
import java.util.stream.DoubleStream;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // creating a stream
        DoubleStream stream = DoubleStream.of(2.5, 3.6, 4.7,
                                              Double.MAX_VALUE, Double.MAX_VALUE);
  
        // OptionalDouble is a container object
        // which may or may not contain a
        // double value.
        OptionalDouble obj = stream.average();
  
        // If a value is present, isPresent() will
        // return true and getAsDouble() will
        // return the value
        if (obj.isPresent()) {
            System.out.println(obj.getAsDouble());
        }
        else {
            System.out.println("-1");
        }
    }
}
Java

输出:

Infinity
Java

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册