[英]in creating a 2d array in java, why does the second dimension make me use 2 instead of 1
[英]Why second dimension is not mandatory in 2d array in java?
int a[][]=new int[2][]; // It works without any error
為什么此代碼段中缺少第二個維度?
從技術上講,2D陣列是一個陣列陣列。 您指定的代碼會告訴您要擁有多少個數組。
您可以按如下方式進一步初始化:
int a[][] = new int[2][];
a[0] = new int[3];
a[1] = new int[5];
像new int[2][2]
的東西只不過是上面代碼的濃縮版本。
這不是強制性的,因為不需要第二維來計算保存陣列所需的內存量。
比較以下內容:
int[] a = new int[2];
在這種情況下,需要指示JVM為一個包含兩個整數的數組分配空間。
另一方面:
int[][] = new int[2][];
在這種情況下,需要指示JVM 為整數數組對象的兩個引用分配空間。 這些整數數組對象最終的大小無關緊要,因為它不會改變引用的大小。
實際上,這兩個陣列可以具有不同的大小,甚至根本不可以創建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.