簡體   English   中英

Java中的多維(數組數組)。 它們是行還是列數組?

[英]Multi-dimensional (array of arrays) in Java. Are they row or column arrays?

我在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]表示有2個長度為3的數組。

所以就像

array1 : x x x
array2 : x x x

這就是它們在內存中的定位方式,您當然可以通過各種方式打印它們。

答案是B。

請記住,Java中沒有多維數組,它實際上是array的數組 ,就像您的array一樣:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM