use*_*890 9 java arrays elements addition
鉴于我在Java中有两个数组,A并且B我想要按元素添加元素,这会产生一个sum数组.使用循环隐式执行此操作很容易,但我想知道是否有更优雅的解决方案,可能使用guava集合或构建java utils.或者也许是一种python-ish方式,通过列表推导很容易.
例:
A = [2,6,1,4]
B = [2,1,4,4]
sum = [4,7,5,8]
Run Code Online (Sandbox Code Playgroud)
ski*_*iwi 20
你可以这样做:
private void sum() {
int a[] = {2, 6, 1, 4};
int b[] = {2, 1, 4, 4};
int result[] = new int[a.length];
Arrays.setAll(result, i -> a[i] + b[i]);
}
Run Code Online (Sandbox Code Playgroud)
这将首先创建int result[]正确的大小.
然后使用昨天发布的Java 8,简单的部分来了:
Arrays.setAll(int[] array, IntUnaryOperator);IntUnaryOperator你可以创建一个lambda映射索引到结果,在这里我们选择映射i到a[i] + b[i],它正好产生我们的总和.Arrays.parallelSetAll| 归档时间: |
|
| 查看次数: |
6389 次 |
| 最近记录: |