3D-Arrays und darüber hinaus
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy — Lektion 7 von 59.
Genau wie Sie 2D-Arrays (Arrays von Arrays) erstellen können, können Sie 3D-Arrays (Arrays von Arrays von Arrays), 4D-Arrays usw. erstellen. Diese werden mehrdimensionale Arrays genannt.
Ein 3D-Array kann als eine Sammlung von 2D-Arrays visualisiert werden, die aufeinander gestapelt sind und eine kubusartige Struktur bilden. Jedes Element in einem 3D-Array wird mithilfe von drei Indizes angesprochen: einem für die Tiefe (welches 2D-Array), einem für die Zeile und einem für die Spalte.
So deklarieren und initialisieren Sie ein 3D-Array in Java:
data_type[][][] array_name = new data_type[depth][rows][columns];data_type: Der Typ der Elemente, die das Array enthalten wird.array_name: Der Name des Arrays.
depth: Die Anzahl der 2D-Arrays (Tiefe).rows: Die Anzahl der Zeilen in jedem 2D-Array.columns: Die Anzahl der Spalten in jedem 2D-Array.
Zum Beispiel, um ein 3D-Array von Ganzzahlen mit den Dimensionen 2x3x4 zu erstellen, würden Sie schreiben:
int[][][] cube = new int[2][3][4];Sie können ein 3D-Array auch direkt initialisieren:
int[][][] cube = {
{
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
},
{
{13, 14, 15, 16},
{17, 18, 19, 20},
{21, 22, 23, 24}
}
};Aufgabe
EinfachSchreiben Sie ein Programm, das drei Ganzzahlargumente entgegennimmt: depth, rows und cols. Es sollte ein 3D-Array von Ganzzahlen mit den angegebenen Dimensionen erstellen und jedes Element des Arrays mit dem Produkt seiner Tiefen-, Zeilen- und Spaltenindizes (beginnend bei 1) initialisieren.
Zum Beispiel sollte das Element an [d][r][c] den Wert (d + 1) * (r + 1) * (c + 1) haben.
Schließlich geben Sie das resultierende 3D-Array mit verschachtelten Schleifen auf die Konsole aus. Die Ausgabe sollte so aussehen:
Depth 0:
1 2 3 4
2 4 6 8
3 6 9 12
Depth 1:
2 4 6 8
4 8 12 16
6 12 18 24Spickzettel
3D-Arrays sind Arrays von Arrays von Arrays, visualisiert als würfelförmige Strukturen mit Tiefe, Zeilen und Spalten.
Deklaration und Initialisierung:
data_type[][][] array_name = new data_type[depth][rows][columns];Beispiel:
int[][][] cube = new int[2][3][4];Direkte Initialisierung:
int[][][] cube = {
{
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
},
{
{13, 14, 15, 16},
{17, 18, 19, 20},
{21, 22, 23, 24}
}
};Elemente werden mit drei Indizes angesprochen: array[depth][row][column]
Probier es selbst
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int depth = scanner.nextInt();
int rows = scanner.nextInt();
int cols = scanner.nextInt();
int[][][] array3D = new int[depth][rows][cols];
// Schreiben Sie Ihren Code unten
// 3D-Array ausgeben
for (int d = 0; d < depth; d++) {
System.out.println("Depth " + d + ":");
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
System.out.print(array3D[d][r][c] + " ");
}
System.out.println();
}
}
}
}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