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

时间:2014-06-12 09:42:07

标签: java arrays multidimensional-array

我在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 

我知道这似乎是一个基本问题,但我找不到答案,这显然是我的计划的基础。

5 个答案:

答案 0 :(得分:6)

C:

1 1 1 1 1   2 2 2 2 2   3 3 3 3 3   4 4 4 4 4

在这种情况下,它们是行还是列是没有意义和任意的,并且完全取决于您如何解释数据。它只是一个数组数组,无论你决定它的第一列,还是第一行都完全取决于你。只要确保你总是这样做。

如果你想要一个有意义的行/列关系,你应该把它包装在一个Table类中,或者使用别人为你做的一个(想想番石榴)。

答案 1 :(得分:3)

这取决于您如何看待和使用它。

答案 2 :(得分:0)

看起来像B。

int [2] [3]表示有2个长度为3的数组。

所以就像

array1 : x x x
array2 : x x x

这就是它们在内存中的位置,当然可以用各种方式打印它们。

答案 3 :(得分:0)

答案是 B

请记住,Java中没有多维数组,它实际上是一个数组数组,就像你的数组一样:

[
   [1 1 1 1 1],
   [2 2 2 2 2],
   [3 3 3 3 3],
   [4 4 4 4 4],
]

答案 4 :(得分:0)

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