我想在第一個數組中創建2個單元格,但在第二個數組中,我想要4個單元格。我可以在陣列2D中創建更多列嗎?
這在Java中是否可行?它是否合乎邏輯?
例子:
public void stack(){
int a[][] = {{2,5234},{5,33,345,45}};
}
我想在第一個數組中創建2個單元格,但在第二個數組中,我想要4個單元格。我可以在陣列2D中創建更多列嗎?
這在Java中是否可行?它是否合乎邏輯?
例子:
public void stack(){
int a[][] = {{2,5234},{5,33,345,45}};
}
是的,這是可能的:
int[][] a = new int[2][];
a[0] = {2, 5234};
a[1] = {5, 33, 345, 45};
或者,如果你想內嵌整個定義:
int[][] a = new int[][]{{2, 5234}, {5, 33, 345, 45}};
太好了!非常感謝你的幫助。 –
這就是所謂的「鋸齒形陣列「。如果你想聲明的這些尺寸,你可以用二維數組聲明開始:
int[][] a = new int[2][];
,然後就可以使長度不管你請
a[0] = new int[2];
a[1] = new int[4];
本質上的第二維度數組本身就是數組。你可以明確地要用作什麼寫:
a[0] = [2, 5234];
a[1] = [5, 33, 345, 45];
,此外,您可以訪問第二個維度的長度:
int lengthOne = a[0].length;
int lengthTwo = a[1].length;
是它的邏輯?絕對。鋸齒形陣列對於不適合經典表格格式的東西(如記錄溫度)非常有用。這可以被記錄爲(例如):
double[][] temperatures = new double[12][];
哪裏有一年12個月,:
temperatures[0] = new double[31];
月份有31天。
哇!謝謝你爲我提供的這個驚人的解釋,我想給你+1,但是我的聲望不到15,xD。再次感謝你:D –
我可以在第二個數組中創建更多的單元格(在數組2D中)? –