Mehrdimensionale Java Arrays
Table of Contents
Eindimensionales Array
Nebst den eindimensionalen Java Arrays gibt es auch mehrdimensionale Arrays. Hier ein Beispiel eines eindimensionalen Java Arrays:
int[] zahlen = new int[]{1, 2, 3, 4};
Mehrdimensionales Array
Ein mehrdimensionales Array könnte beispielsweise ein Schachfeld sein:
Schachfigur[][] schachbrett = new Schachfigur[8][8];
Mehrdimensionale Arrays sind nicht auf zwei Dimensionen limitiert, die Limite ist bei 255 Dimensionen, aber das wird wohl eher selten benötigt.
Zugriff auf ein mehrdimensionales Array
Auf den Wert eines mehrdimensionale Arrays kann man genau so einfach zugreifen wie auf den eines eindimensionalen, dazu muss man nur die Koordinaten angeben:
schachbrett[2][1] = new Schachfigur(Figur.BAUER, Farbe.WEISS);
Es ist zudem möglich auf eine ganze Zeile eines eindimensionalen Arrays zuzugreifen, so erhält man ein eindimensionales Array desselben Typs zurück:
int[] grundreiheWeiss = schachbrett[1];
int[] grundreiheSchwarz = schachbrett[6];
Die einfachste Hilfe um das zu veranschaulichen ist die Visualisierung eines solchen Arrays:
int[][] a = new int[3][3];
Column1 | Column2 | Column3 | |
Row1 | a[0][0] | a[0][1] | a[0][2] |
Row2 | a[1][0] | a[1][1] | a[1][2] |
Row3 | a[2][0] | a[2][1] | a[2][2] |
Nicht rechteckige, zweidimensionale Arrays
Solche Arrays müssen nicht rechteckig sein, es ist möglich ein ungleichmässig Dimensionales Array zu erstellen:
int[][] b = new int[3][];
b[0] = new int[1];
b[1] = new int[2];
b[2] = new int[3];
Das würde dann wie folgt aussehen:
Column1 | Column2 | Column3 | |
Row1 | b[0][0] | ||
Row2 | b[1][0] | b[1][1] | |
Row3 | b[2][0] | b[2][1] | b[2][2] |