我想复制一个数组,但是我不知道它的大小。我在下面粘贴了类和方法。
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;
答案 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
中的方法。希望这会有所帮助!