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];

 Column1Column2Column3
Row1a[0][0]a[0][1]a[0][2]
Row2a[1][0]a[1][1]a[1][2]
Row3a[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:

 Column1Column2Column3
Row1b[0][0]  
Row2b[1][0]b[1][1] 
Row3b[2][0]b[2][1]b[2][2]