Java中的多维(数组的数组).它们是行数组还是列数组



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]);
            }   
        }

相关内容

  • 没有找到相关文章