Unsere Hausaufgabe erfordert die Verwendung eines gezackten Arrays zum Speichern der Werte einer zweidimensionalen booleschen Matrix. Gibt es eine eingebaute Java-Klasse für das gezackte Array oder muss ich es manuell mit einem Array von ArrayLists erstellen?Java Jagged Array
9
A
Antwort
16
In Java ist ein 2D-Array ein Array von 1D-Array-Objekten. Jedes 1D-Array kann eine unterschiedliche Länge haben, was bedeutet, dass Sie gezackte Arrays aus der Box erhalten.
Zum Beispiel ist die folgende absolut gültige Java und 3 5 3 4
ausdruckt:
int x[][] = {{0,1,2,3,4},{0,1,2},{0,1,2,3}};
System.out.println(x.length);
System.out.println(x[0].length);
System.out.println(x[1].length);
System.out.println(x[2].length);
0
Es klingt tatsächlich wie Sie eine spärliche Matrix Implementierung wollen könnte. Sie können eine viel bessere Leistung daraus erhalten, wenn Sie die Matrix ändern müssen. Array-Kopiervorgänge sind ziemlich teuer. Sparse matrices/arrays in Java
Also, wenn ich mehr Elemente zu diesen einzelnen Arrays hinzufügen muss, würde ich zum Beispiel die Größe x [1] anstelle von nur x ändern? –
@Chris: Ja. Zum Beispiel 'x [1] = Arrays.copyOf (x [1], newLength);' – NPE