Lernpfad:Objektorientierte Programmierung mit Java/Komplexe Arrays: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 59: Zeile 59:
}
}
</syntaxhighlight>
</syntaxhighlight>
== Mehrdimensionale Arrays ==
Da ein Array selbst auch ein komplexer Datentyp ist, kann jedes Element in einem Array auch selber wieder ein Array sein. Das erlaubt die Erzeugung von zwei-, drei, oder n-dimensionalen Arrays.
<syntaxhighlight lang="Java" line="1">
int[][][] dreidim = new int[3][3][3];
dreidim[0][0][0] = 1;
dreidim[1][0][2] = 2;
dreidim[2][2][2] = 3;
</syntaxhighlight>
Bei bis zu drei Dimensionen kann man sich das Array noch gut vorstellen (zweidimensional: Tabelle, dreidimensional: Würfel), aber ab vier Dimensionen wird die Handhabung sehr kompliziert. Arrays mit mehr als drei Dimensionen setzt man daher nur in Spezialfällen ein.
=== Über ein mehrdimensionales Array iterieren ===
Um über Arrays mit mehreren Dimensionen zu iterieren, nutzt du mehrere ineinander verschachtelte Zählschleifen.
<syntaxhighlight lang="Java" line="1">
String[][] zweidim = new int[4][4];
for( int i = 0; i < zahlen.length; i++ ) {
    String[] innerArray = zahlen[i];
    for( int j = 0; j < innerArray.length; j++ ) {
        innerArray = "(" + i + "," + j + ")";
    }
}
</syntaxhighlight>
Der Quelltext erzeugt die folgende Matrix an Strings:
{| class="wikitable text-center" style="margin:0 auto;"
! !! 0 !! 1 !! 2 !! 3
|-
! 0
| "(0,0)" || "(1,0)" || "(2,0)" || "(3,0)"
|-
! 1
| "(0,1)" || "(1,1)" || "(2,1)" || "(3,1)"
|-
! 2
| "(0,2)" || "(1,2)" || "(2,2)" || "(3,2)"
|-
! 3
| "(0,3)" || "(1,3)" || "(2,3)" || "(3,3)"
|}
8.581

Bearbeitungen