[英]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.