Dog*_*Dog 6 java reduce stream
我正在尝试实现 Java.stream() 方法,以在 Java 8 中将多个数字列表组合在一起。我已经导入了 java.util.stream*; 包裹。静态方法设置为返回一个 int 并接受一个数组。但是,当我在数组上调用 .stream().reduce() 时,出现错误:
error: cannot find symbol
int count = x.stream().reduce(1, (a, b) -> a * b).sum();
^
symbol: method stream()
location: variable x of type int[]
Run Code Online (Sandbox Code Playgroud)
如何正确使用stream()方法按顺序将数组的值乘在一起?
我定义的类为:
import java.util.stream.*;
public class Kata{
public static int grow(int[] x){
int count = x.stream().reduce(1, (a, b) -> a * b).sum();
return count;
}
}
Run Code Online (Sandbox Code Playgroud)
您需要Arrays.stream将数组转换为流:
int count = Arrays.stream(x).reduce(1, (a, b) -> a * b);
Run Code Online (Sandbox Code Playgroud)
sum()您最后执行的步骤没有意义,因为之后我们reduce已经只剩下一个原始整数了。所以我把它删除了。
| 归档时间: |
|
| 查看次数: |
19596 次 |
| 最近记录: |