java - 如何深拷贝一个不规则的二维数组

标签 java arrays deep-copy multidimensional-array

如何在 Java 中深度复制不规则形状的二维数组?

即。

int[][] nums =  {{5},
                 {9,4},
                 {1,7,8},
                 {8,3,2,10}}

由于某些原因(版本控制?)我无法使用 Arrays.arrayCopy()

最佳答案

int[][] copy = new int[nums.length][];

for (int i = 0; i < nums.length; i++) {
    copy[i] = new int[nums[i].length];

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

您可以用 System.arraycopy() 或 Arrays.copyOf() 替换第二个循环。

关于java - 如何深拷贝一个不规则的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419858/

相关文章:

java - 从父类(super class)的构造函数调用子类的构造函数

c++ - 复制构造函数+浅复制和深复制

python - DFS 中(非常慢的)深度复制的任何替代方法?

java - Junit5 从 @MethodSource 注解返回 Map

java - 安卓 : Error in Add event of Calender : Unkown URL

java - 区分要在 Struts 2 中使用的成功数据和错误消息?

java - 如何读取文本文件中的附加行

javascript - jQuery 无法识别的表达式语法错误

python - 分配给逻辑索引 Numpy 数组

arrays - NSString 到数组整数 Swift Xcode