java数组如何相加
Java数组相加的实现方法
在Java中,数组相加通常指的是将两个数组的对应元素相加,生成一个新的数组。以下是几种常见的实现方法:
使用循环遍历数组元素
public static int[] addArrays(int[] arr1, int[] arr2) {
if (arr1.length != arr2.length) {
throw new IllegalArgumentException("Arrays must be of the same length");
}
int[] result = new int[arr1.length];
for (int i = 0; i < arr1.length; i++) {
result[i] = arr1[i] + arr2[i];
}
return result;
}
使用Java 8的Stream API
public static int[] addArraysWithStream(int[] arr1, int[] arr2) {
if (arr1.length != arr2.length) {
throw new IllegalArgumentException("Arrays must be of the same length");
}
return IntStream.range(0, arr1.length)
.map(i -> arr1[i] + arr2[i])
.toArray();
}
处理不同长度的数组
如果需要处理不同长度的数组,可以以较长的数组长度为准,较短数组不足的部分视为0:
public static int[] addArraysDifferentLength(int[] arr1, int[] arr2) {
int maxLength = Math.max(arr1.length, arr2.length);
int[] result = new int[maxLength];
for (int i = 0; i < maxLength; i++) {
int val1 = i < arr1.length ? arr1[i] : 0;
int val2 = i < arr2.length ? arr2[i] : 0;
result[i] = val1 + val2;
}
return result;
}
多维数组相加
对于二维数组,可以使用嵌套循环:
public static int[][] add2DArrays(int[][] arr1, int[][] arr2) {
if (arr1.length != arr2.length || arr1[0].length != arr2[0].length) {
throw new IllegalArgumentException("Arrays must have the same dimensions");
}
int[][] result = new int[arr1.length][arr1[0].length];
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
result[i][j] = arr1[i][j] + arr2[i][j];
}
}
return result;
}
注意事项:

- 确保数组长度一致,或实现适当的处理逻辑
- 考虑使用泛型方法处理不同类型的数值数组
- 对于大型数组,可能需要考虑并行处理提高性能






