java 复制二维数组

Arrays.copyOf()是Java中Arrays类中的一个静态方法,可以复制一维数组。该方法有两个重载版本,一个是复制整个数组,另一个是复制数组的一部分。语法如下:

public static <T> T[] copyOf(T[] original, int newLength)

这个方法可以复制一维数组,而不能复制二维数组,如果要复制二维数组,需要用循环遍历二维数组,并使用Arrays.copyOf()复制一维数组.

int[][] original = {
    
    {1,2,3},{4,5,6}};
int[][] copy = new int[original.length][];
for (int i = 0; i < original.length; i++) {
    copy[i] = Arrays.copyOf(original[i], original[i].length);
}

如果你是使用java8或者更高版本,你可以使用Streams API来复制二维数组

int[][] copy = Arrays.stream(original)
                       .map(int[]::clone)
                       .toArray(int[][]::new);

请注意,在上述示例中,我们使用了深复制来复制二维数组,因此更改原始数组不会影响复制的数组,反之亦然。

猜你喜欢

转载自blog.csdn.net/m0_61594817/article/details/128731091