我正在学习教程,但我没有得到这部分,我们可以得到这些数字的平均值。
请您解释一下这些数字是如何计算的以及我们如何得到 7.5 结果?
// Finding the average of the numbers squared
Arrays.stream(new int[] {1,2,3,4}).map(n -> n * n).average().ifPresent(System.out::println);
结果-> 7.5
在下面查找该流正在执行的操作的详细信息
Arrays.stream(new int[] {1,2,3,4}) //Converts int[] to IntStream
.map(n -> n * n) //Squares each element of the stream, now we have 1, 4, 9, 16
.average() // Calculate average between those numbers, it's 7.5
.ifPresent(System.out::println); //We have an Optional<Double>, if it's present we print it.
所以这个解决方案对你有好处,只需去掉
.map(n -> n * n)
来计算数字的平均值,而不是它们的平方。