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
