Java - 创建与另一个2D阵列大小相同的2D阵列

时间:2018-01-31 23:39:15

标签: java arrays

我有以下2D数组:

     int[][] matrixA = { {1, 2 ,3}, {4, 5, 6} };

我想创建另一个具有相同大小matrixA的2D数组,我的问题是如何使用,与普通数组相同,即int[] arrayA = {10, 12, 33, 23}, int[] arrayB = new int[arrayA.length]

    int[][] matrixB = new int[matrixA.length][]

我可以这样做,只需要将一个阵列分配两个位置,然后让其余阵列填充for循环吗?或者有更正确和灵活的方法来做到这一点?

1 个答案:

答案 0 :(得分:3)

为什么不使用普通的多维数组初始化语法?

    int[][] a = {{1,2,3}, {4,5,6}};
    int[][] b = new int[a.length][a[0].length];

这似乎非常有效。这是一个小循环,测试所有条目确实存在,并且我们没有得到任何AIOOBE:

    for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < a[0].length; j++) {
          b[i][j] = a[i][j];
        }
    }

这显然假设您正在处理矩形矩阵,即所有行必须具有相同的尺寸。如果你有一些奇怪的锯齿状数组,你必须使用一个循环来分别初始化每一行。