如何在不知道二维数组大小的情况下复制二维数组

时间:2018-11-10 21:11:54

标签: java

我想复制一个数组,但是我不知道它的大小。我在下面粘贴了类和方法。

public MyClass {

private int map[][];

public void setMap(int[][] map){

 //my code here

    }
}

当然,这种方式行不通。因为(如我所说)我不知道大小。

int map[][] = new int[N][N];
for (int[] i : map)
for (int j : i)
i[j] = 1;

1 个答案:

答案 0 :(得分:0)

您可以使用.length()函数找到数组和列中的行数。然后,您可以通过执行以下操作来初始化具有相同行数和列数的2D数组:

//array.length() is the number of rows. 
//array[0].length() takes the first row and gives you the number of columns.
int map[][] = new int[array.length][array[0].length];

现在,要复制名为array的数组,您可以执行以下操作:

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

这是将二维数组array复制到新数组map中的方法。希望这会有所帮助!