如何深度复制不规则的二维数组 [英] How to deep copy an irregular 2D array

查看:19
本文介绍了如何深度复制不规则的二维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I deep copy an irregularly shaped 2D array in Java?

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

由于某种原因(版本控制?)

I'm unable to use Arrays.arrayCopy() for some reason (versioning?)

推荐答案

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() 替换第二个循环.

You can replace the second loop with System.arraycopy() or Arrays.copyOf().

这篇关于如何深度复制不规则的二维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆