我同意使用n維陣列(n = 30)的評論是一個糟糕的設計理念。但是,如果您真的需要它,可能會有幫助:
- 您不能動態創建n維數組。您可以查找
java.util.ArrayList
而不是數組。
- 您可以使用一維維陣列。例如:
int [] [] array1 = new int [X] [Y];
它將爲(X * Y)元素創建一個數組。
int [] [] [] array2 = new int [X] [Y] [Z];
它將爲(X * Y * Z)元素創建一個數組。
以上表示也可以被映射到:
int[] array1 = new int[X * Y];
int[] array2 = new int[X * Y * Z];
說數組2 = [2] [5] [5]; // X = 2,Y = 5,Z = 5
0 1 2 3 4
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
0 1 2 3 4
0 0 0 0 0 0
1 0 0 0 0 0
2 0 0 0 0 0
3 0 0 0 0 0
4 0 0 0 0 0
在1-d,這將是:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .......... 49
要訪問3- d array2[1][2][3]
在1-d,計算將: array2[(1 * Y * Z) + (2 * Z) + 3 - 1]
ie array2 [37]
這很複雜,很難實現,但它會動態的。我會說,你應該重新設計你的方法。
我可能會開始不使用數組。我也會問自己爲什麼在天堂需要12個維度(!!)。 – Mena
'v1'和'v2'唯一的常見基類型是'Object'。那麼你將如何使用這樣的數組? –
那是因爲我正在做一種動態編程,在任何情況下(真實情況都是nim遊戲),我需要計算一下我們是否可以贏或者放鬆......但是我們需要讓它在事情上節省時間我們以前計算出的...... –