int[][] uneven =
{ { 1, 9, 4 },
{ 0, 2},
{ 0, 1, 2, 3, 4 } };
Ein zweidimensionales Array wird als ein Array von eindimensionalen Arrays implementiert. Dies ist nicht so furchtbar wie Sie denken könnten. Es ist nur eine Erweiterung von dem, was Sie bereits über eindimensionale Arrays von Objekten wissen. Die Deklaration
int[][] myArray; // 1.
deklariert eine Variable myArray,
die in der Zukunft auf ein Arrayobjekt verweisen kann.
An dieser Stelle wurde nichts über die Anzahl der
Zeilen oder Spalten ausgesagt.
Um ein Array von Zeilen zu erzeugen tun Sie dies:
myArray = new int[3][] ; // 2.
Jetzt verweist myArray auf ein Arrayobjekt.
Das Arrayobjekt hat 3 Slots.
Jeder Slot kann (in der Zukunft) auf ein
Array von int verweisen,
ein int[] Objekt.
Aber noch keiner der Slots verweist auf ein Objekt.
Sie werden mit null initialisiert.
Eine Möglichkeit die Zeile 0 zu erzeugen ist dies:
myArray[0] = new int[3] ; // 3.
Dies erzeugt ein 1D Arrayobjekt und stellt
dessen Referenz in den Slot 0 von myArray.
Die Elemente des 1D Arrays werden mit 0 initialisiert.
Ein vorher erzeugtes 1D Array kann einer Zeile zugewiesen werden:
int[] x = {0, 2};
int[] y = {0, 1, 2, 3, 4} ;
myArray[1] = x ;
myArray[2] = y ; // 4.
Die Zeilen müssen nicht die gleiche Anzahl an Elementen haben.
Die vorausgehenden Anweisungen haben Schritt für Schritt das 2D Array erzeugt. Normalerweise würden Sie dies nicht tun.