gpt4 book ai didi

java - 是否可以在没有两个循环的情况下遍历二维数组?

转载 作者:行者123 更新时间:2023-11-29 07:26:55 25 4
gpt4 key购买 nike

例如,如果我有:

int Myarray[][] = new int[][] {{1,2}, {3,4}};
for (int line=0; line < Myarray.length; line++) {
for (int column = 0; column < Myarray[0].length; column++) {
// do something ...
}
}

如果没有这两个循环,我如何遍历整个数组?

最佳答案

好吧,你可以只使用一个循环:

for (int i = 0; i < Myarray.length*Myarray.length; i++) {
int row = i / Myarray.length;
int col = i % Myarray.length;
System.out.println(Myarray[row][col]);
}

但这假设您的二维数组是正方形的,即它的宽度和长度在任何地方都相同。换句话说,二维数组不是锯齿状的。

Demo

注意:正如@Thilo 上面提到的,这不会让事情运行得更快。如果您需要接触数组中的每个元素,那么我建议的代码和您当前的双循环基本上具有相同的复杂性。

关于java - 是否可以在没有两个循环的情况下遍历二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50549051/

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