Jagged Arrays
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 6 von 59.
Ein gestaffeltes Array ist ein spezieller Typ eines 2D-Arrays, bei dem jede Zeile eine unterschiedliche Anzahl von Spalten haben kann. Mit anderen Worten handelt es sich um ein Array von Arrays, und jedes „innere“ Array kann eine unterschiedliche Länge haben. Dies unterscheidet sich von einem regulären 2D-Array, bei dem alle Zeilen die gleiche Anzahl von Spalten haben und eine rechteckige Form bilden.
Gejaggte Arrays sind nützlich, wenn Sie Daten speichern müssen, die nicht ordentlich in ein rechteckiges Raster passen. Zum Beispiel könnten Sie ein gejaggtes Array verwenden, um die Wörter in jedem Satz eines Absatzes zu speichern, wobei jeder Satz eine unterschiedliche Anzahl von Wörtern hat.
So deklarieren und initialisieren Sie ein gezacktes Array in Java:
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onBeachten Sie, dass Sie beim ersten Deklarieren des Arrays nur die Anzahl der Zeilen angeben. Dann initialisieren Sie jede Zeile separat und geben die Anzahl der Spalten für diese Zeile an.
Aufgabe
EinfachErstellen Sie eine Methode namens createJaggedArray, die eine Ganzzahl n als Eingabe nimmt und ein gezacktes Array von Ganzzahlen zurückgibt. Das gezackte Array sollte die folgende Struktur haben:
- Die erste Zeile sollte 1 Element haben.
- Die zweite Zeile sollte 2 Elemente haben.
- Die dritte Zeile sollte 3 Elemente haben.
- Und so weiter, bis zur
n. Zeile, dienElemente haben sollte.
Initialisieren Sie jedes Element des Arrays mit dem Produkt seiner Zeilen- und Spaltenindizes (beginnend bei 1). Zum Beispiel sollte das Element in der zweiten Zeile und ersten Spalte den Wert 2 * 1 = 2 haben.
Spickzettel
Ein gezacktes Array ist ein 2D-Array, bei dem jede Zeile eine unterschiedliche Anzahl von Spalten haben kann, im Gegensatz zu regulären 2D-Arrays, bei denen alle Zeilen die gleiche Länge haben.
Um ein gezacktes Array zu deklarieren und zu initialisieren:
data_type[][] array_name = new data_type[number_of_rows][];
// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so onBeim Deklarieren eines gezackten Arrays geben Sie zunächst nur die Anzahl der Zeilen an, dann initialisieren Sie jede Zeile separat mit ihrer spezifischen Anzahl von Spalten.
Probier es selbst
// Schreiben Sie Ihren Code nur innerhalb der Klasse. Schreiben Sie keine main() oder Code außerhalb dieser Klasse.
class CreateJaggedArray {
public static int[][] createJaggedArray(int n) {
// Schreiben Sie Ihren Code hier
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitung