假设我有一个方法,它采用两个double类型的数组,而不是采用double类型的局部变量'sum',初始值为零。之后,for循环从开始到结束迭代并像这样减去a1 [i] - b [i]并将结果保存到另一个名为minus的局部变量中。比减去*减去并将它与sum变量和末尾总和中的现有值相加。 我很困惑如何使用流在java 8中实现这一点。有人能帮助我吗?
public double calculate(double[] a1, double[] b2, int start, int end) {
double sum = 0.0;
for(int i = start; i < end; i++) {
final double minus = a1[i] - b2[i];
sum += minus * minus;
}
return sum;
}
答案 0 :(得分:5)
return IntStream.range(start, end)
.mapToDouble(x -> a1[x] - b2[x])
.map(x -> x * x)
.sum();