Java中有一个2D数组
[[1 1 1 1 1] [2 2 2 2 2] [3 3 3 3 3] [4 4 4 4 4]]
我想知道如果在纸上画出来会是什么样子,即每个单独的数组转换成什么。
那么上面的数组会显示为,A:
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
,或者B:
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
我知道这似乎是一个基本的问题,但我找不到答案,这显然是我的程序的基础。
C:
1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
在这种情况下,它们是行还是列是没有意义的,而且是任意的,完全取决于您如何解释数据。它只是一个数组的数组,您决定它是列优先还是行优先完全取决于您。只要确保你总是用同样的方法。
如果你想要一个有意义的行/列关系,你应该把它包装在一个Table类中,或者使用别人为你做的(我想到了Guava)。
这取决于你如何理解和使用它
它看起来像B。
int[2][3]表示存在两个长度为3的数组。
所以应该是
array1 : x x x
array2 : x x x
这就是它们在内存中的位置,当然你可以用不同的方式打印它们
答案是 B 。
请记住,Java中没有多维数组,它实际上是数组的数组,就像你的数组:[
[1 1 1 1 1],
[2 2 2 2 2],
[3 3 3 3 3],
[4 4 4 4 4],
]
B,按下面的代码检查
int[][] a = new int[][]{{1,1,1,1,1},{2,2,2,2,2},{3,3,3,3,3},{4,4,4,4,4}};
for(int i=0;i<4;i++){
for(int j=0;j<5;j++){
System.out.println(a[i][j]);
}
}