Java hat keine "echten" mehrdimensionalen Arrays.
Zum Beispiel arr[i][j][k]
ist äquivalent zu ((arr[i])[j])[k]
. Mit anderen Worten, arr
ist einfach ein Array, von Arrays, von Arrays .
Wenn Sie also wissen, wie Arrays funktionieren, wissen Sie, wie mehrdimensionale Arrays funktionieren!
Erklärung:
int[][][] threeDimArr = new int[4][5][6];
oder mit Initialisierung:
int[][][] threeDimArr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };
Zugriff:
int x = threeDimArr[1][0][1];
oder
int[][] row = threeDimArr[1];
Zeichenfolgendarstellung:
Arrays.deepToString(threeDimArr);
ergibt
"[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]"
Nützliche Artikel
int[i][j][k]
hat Längei
, also ist es wirklich gleichbedeutend mit einem((int[k])[j])[i]
. Die Größen in der Deklaration sind in Bezug auf die Typen rückwärts geschrieben. Ich nehme an, dass mehrdimensionale Arrays Matrizen in der Mathematik ähnlicher werden.Sie können auch das folgende Konstrukt verwenden:
quelle
Sie können mehrdimensionale Arrays wie folgt deklarieren:
quelle
Mehrdimensionales Array in Java
Rückgabe eines mehrdimensionalen Arrays
Java unterstützt mehrdimensionale Arrays nicht wirklich . In Java ist ein zweidimensionales Array einfach ein Array von Arrays, ein dreidimensionales Array ist ein Array von Arrays von Arrays, ein vierdimensionales Array ist ein Array von Arrays von Arrays von Arrays und so weiter ...
Wir können ein zweidimensionales Array definieren als:
int[ ] num[ ] = {{1,2}, {1,2}, {1,2}, {1,2}}
int[ ][ ] num = new int[4][2]
Wenn Sie nicht zuweisen,
num[2][1]
wird es beispielsweise nicht initialisiert und dann automatisch 0 zugewiesen, dh automatischnum[2][1] = 0
.Unten finden
num1.length
Sie Zeilen.Während
num1[0].length
gibt Ihnen die Anzahl der Elemente in Bezug aufnum1[0]
. Hiernum1[0]
hat verwandte Arraysnum1[0][0]
undnum[0][1]
nur.Hier haben wir eine
for
Schleife verwendet, die uns bei der Berechnung hilftnum1[i].length
. Hieri
wird durch eine Schleife inkrementiert.quelle
Ich füge hinzu, dass Sie Folgendes tun können, wenn Sie die Abmessungen lesen möchten:
Sie können auch gezackte Arrays haben , bei denen verschiedene Zeilen unterschiedliche Längen haben
a[0].length != a[1].length
.quelle
Ausgabe
1 2 3 4 5 6 7 5 6 7 8 9 10 11
quelle
Sie können dies betrachten, um zu beginnen:
quelle