相关疑难解决方法(0)

如何深度复制二维数组(不同的行大小)

这是我在这样的社区中的第一个问题,所以我的格式可能不是很好的抱歉.

既然我的问题是我想在Java中深度复制二维数组.使用固定大小的行和列在1维甚至2维数组中进行操作时非常容易.我的主要问题是我无法对我尝试复制的第二个数组进行初始化,例如:

int[][] copyArray = new int[row][column]
Run Code Online (Sandbox Code Playgroud)

因为行大小不固定并且每行索引中的更改(例如我尝试复制此数组):

int[][] envoriment = {{1, 1, 1, 1}, {0, 1, 6}, {1}};
Run Code Online (Sandbox Code Playgroud)

所以你看,如果我说new int[3][4]会有额外的空间,我不想要.有没有一种深度复制这种二维数组的方法?

java arrays deep-copy dimension

6
推荐指数
1
解决办法
6647
查看次数

使用.clone()复制2D数组仍然引用原始数据

好的,我知道之前已经问过这个问题:上一个问题

我还研究了其他几个主题和网站,他们似乎都创造了更多问题而不是答案.

Josh Bloch on Design - 一篇文章讨论.clone();

但我仍然无法解决我的问题.

当我克隆我的2D数组时:

values = Map.mapValues.clone();
Run Code Online (Sandbox Code Playgroud)

我仍然无法安全地修改内容,values因为它仍然修改了内容Map.mapValues.

有没有办法复制一个比我更有效的数组,每次只是从头开始重新创建一个?

谢谢

java arrays clone copy

3
推荐指数
1
解决办法
1191
查看次数

标签 统计

arrays ×2

java ×2

clone ×1

copy ×1

deep-copy ×1

dimension ×1