Yah*_*din 3 java functional-programming java-8 java-stream
我有2个数组,y及z
欲返回一个整数数组,其中result[i] = y[i] - z[i]
这是代码:
static int[] join(int[] y, int[] z) {
int[] result = new int[Math.min(y.length, z.length)];
for(int i = 0; i < result.length; ++i) {
result[i] = y[i] - z[i];
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但是我想使用Java的8种函数式编程技术(如流)来做同样的事情.但是我知道的所有流函数一次只能用于一个列表.
我怎样才能做到这一点?
编辑
另外我怎么能做我提到的相同的事情,但我想返回一个布尔数组,其中:result[i] = y[i] == 5 || z[i] == 10
您可以使用计数器变量IntStream来模拟迭代:
static int[] join(int[] y, int[] z) {
int min = Math.min(y.length, z.length);
return IntStream.range(0, min).map(i -> y[i] - z[i]).toArray();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |