gpt4 book ai didi

java - 如何访问二维数组的第二部分

转载 作者:行者123 更新时间:2023-12-01 14:07:45 26 4
gpt4 key购买 nike

好的,我试图遍历一个二维数组以从一个数组复制到另一个数组。我可以使用以下方法分配第一部分中的整数:

array1[i] = array2[i];

但我不能对另一部分做同样的事情,例如:
array1[][j] = array2[][j];  //this doesn't compile

或者
array1[0]j = array2[0][j];  //creates run time error

我怎样才能具体复制第二部分而不是第一部分?

最佳答案

二维数组没有“第一部分”和“第二部分”。有i行和 j声明为 x[j][i] 的数组中的列.

现在是技术方面:

Java 没有真正的二维数组;它有数组的数组,所以 x[rows][cols]是一个数组 xrows cols 的数组元素(即 x[rows] 是一个数组数组)。

所以当你执行 array1[i] = array2[i] ,您正在复制对第二个数组中列数组的引用。

但是没有办法做那个的镜像——你不能复制对行的引用但保留列值,因为行数组是 x .

如果您正在寻找“深拷贝”,您可以使用以下方法手动完成:

for (int row = 0; row < array1.length; row++) {
for (int col = 0; col < array1[row].length; col++) {
array2[row][col] = array1[row][col];
}
}

关于java - 如何访问二维数组的第二部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com