Java IntStream average()及实例

Java IntStream average()及实例

Java 8中的java.util.stream.IntStream,处理原始的ints。它有助于解决老问题,如寻找数组中的最大值,寻找数组中的最小值,数组中所有元素的总和,以及以新的方式解决数组中所有值的平均值。 IntStream average() 返回一个OptionalDouble,描述此流中元素的算术平均值,如果此流为空,则返回一个空的Optional。

语法:

OptionalDouble average()

其中,OptionalDouble是一个容器对象
它可能包含也可能不包含一个双倍值。

下面给出了一些例子,以便更好地理解这个函数。

例1 :

// Java code for IntStream average()
import java.util.*;
import java.util.stream.IntStream;
 
class GFG {
 
    // Driver code
    public static void main(String[] args)
    {
 
        // creating a stream
        IntStream stream = IntStream.of(2, 3, 4, 5, 6, 7, 8);
 
        // 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");
        }
    }
}

输出:

5.0

例2 :

// Implementation of IntStream average()
import java.util.*;
import java.util.stream.IntStream;
 
class GFG {
 
    // Driver code
    public static void main(String[] args)
    {
 
        // creating a stream
        IntStream stream = IntStream.of(2, 3, 3, 4, 6, 8, 8);
 
        // 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");
        }
    }
}

输出:

4.857142857142857

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程