Multidimensionale Daten
Bisher haben wir eindimensionale Arrays verwendet, bei denen der Index die Position eines Wertes in der einzigen Dimension angibt. Wir können jedoch auch mehrdimensionale Arrays erstellen. Um auf einen Wert zuzugreifen, benötigen wir dann die Indizes für jede Dimension. Dies ist nützlich, wenn unsere Daten multidimensional sind, beispielsweise bei der Arbeit mit Koordinaten.
Ein zweidimensionales Array mit zwei Zeilen und drei Spalten kann folgendermaßen erstellt werden:
int rows = 2;
int columns = 3;
int[][] twoDimensionalArray = new int[rows][columns];
In dem oben erstellten Array verweist jede Zeile auf ein Array mit einer bestimmten Anzahl von Spalten. Wir können ein zweidimensionales Array mit zwei verschachtelten for-Schleifen durchlaufen:
int rows = 2;
int columns = 3;
int[][] twoDimensionalArray = new int[rows][columns];
System.out.println("row, column, value");
for (int row = 0; row < twoDimensionalArray.length; row++) {
for (int column = 0; column < twoDimensionalArray[row].length; column++) {
int value = twoDimensionalArray[row][column];
System.out.println("" + row + ", " + column + ", " + value);
}
}
Die Programmausgabe sieht folgendermaßen aus:
row, column, value 0, 0, 0 0, 1, 0 0, 2, 0 1, 0, 0 1, 1, 0 1, 2, 0
Sie wissen, dass der Standardwert für Variablen vom Typ int
0 ist.
Wir können die Werte im Array wie zuvor ändern. Unten setzen wir neue Werte für drei Elemente des Arrays:
int rows = 2;
int columns = 3;
int[][] twoDimensionalArray = new int[rows][columns];
twoDimensionalArray[0][1] = 4;
twoDimensionalArray[1][1] = 1;
twoDimensionalArray[1][0] = 8;
System.out.println("row, column, value");
for (int row = 0; row < twoDimensionalArray.length; row++) {
for (int column = 0; column < twoDimensionalArray[row].length; column++) {
int value = twoDimensionalArray[row][column];
System.out.println("" + row + ", " + column + ", " + value);
}
}
Die Programmausgabe sieht folgendermaßen aus:
row, column, value 0, 0, 0 1, 0, 4 2, 0, 0 0, 1, 8 1, 1, 1 2, 1, 0