📜  填充二维数组java(1)

📅  最后修改于: 2023-12-03 14:51:37.991000             🧑  作者: Mango

填充二维数组 - Java

在Java编程中,我们可能需要填充二维数组。填充二维数组的方法有很多种。下面将介绍一些常见的方法和示例代码。

使用for循环填充二维数组

使用for循环填充二维数组是最基本的方法。我们可以使用嵌套的for循环遍历每个元素,并将其设置为我们需要的值。

int[][] arr = new int[3][3];
for(int i=0; i<arr.length; i++) {
    for(int j=0; j<arr[i].length; j++) {
        arr[i][j] = i*10 + j;
    }
}

在上面的示例代码中,我们创建了一个3x3的二维数组,并使用两个嵌套的for循环遍历每个元素,并将其设置为 i*10+j

使用Arrays.fill()方法填充二维数组

Java中的Arrays类提供了一个fill()方法,可以一次将数组中的所有元素都设置为相同值。我们可以使用这个方法填充二维数组。

int[][] arr = new int[3][];
Arrays.fill(arr, new int[3]);  //数组默认初始化为null,需要先将每个位置设置为一个新的数组
for(int[] row : arr) {
    Arrays.fill(row, 10);
}

在上面的示例代码中,我们创建了一个3x3的二维数组,并使用Arrays.fill()方法将其填充为所有元素都为10的数组。

使用Arrays.stream()和flatMap()方法填充二维数组

Java 8中的数组填充也变得更加容易了。我们可以使用Arrays.stream()方法将二维数组转换为一维流,然后使用flatMap()方法将其展平为一个流。最后,我们可以使用forEach()方法遍历每个元素,并将其设置为我们需要的值。

int[][] arr = new int[3][3];
int value = 1;
Arrays.stream(arr).flatMapToInt(Arrays::stream).forEach(i -> i = value++);

在上面的示例代码中,我们创建了一个3x3的二维数组,并使用Arrays.stream()、flatMap()和forEach()方法将其填充为1~9的数组。

结束语

上面介绍了三种最常见的方法以填充二维数组。这些方法各有优点,可以根据需要选择最合适的方法。希望上面的代码能帮助你更好地理解填充二维数组的方法。