Java unterstützt wie die meisten anderen leistungsstarken Programmiersprachen mehrdimensionale Arrays wie zweidimensionale und dreidimensionale Arrays. Zuvor haben wir über die Arbeit mit diskutiert eindimensionale Arrays in Java. In diesem Tutorial werden zweidimensionale und dreidimensionale Arrays erläutert. Die gleichen Prinzipien werden auch auf Arrays mit höheren Dimensionen angewendet.
2 Dimensional Array in Java
Es gibt zwei Möglichkeiten, zweidimensional zu implementierenArrays. Viele Sprachen reservieren einen Speicherblock, der groß genug ist, um alle Elemente des vollständigen rechteckigen Arrays aufzunehmen (Anzahl der Zeilen mal Anzahl der Spalten mal Elementgröße). Java macht das nicht. Stattdessen erstellt Java mehrdimensionale Arrays aus vielen eindimensionalen Arrays, dem sogenannten "Arrays of Arrays" -Ansatz.
Zweidimensionale Arrays werden als „Array“ definiertvon Arrays ”. Da ein Array-Typ ein erstklassiger Java-Typ ist, können wir ein Array von Ints, ein Array von Strings oder ein Array von Objekten haben. Ein Array von Ints hat beispielsweise den Typ int []. In ähnlicher Weise können wir int [] [] haben, das ein "Array von Arrays von Ints" darstellt. Ein solches Array wird als zweidimensionales Array bezeichnet.
Der folgende Befehl:
int[][] twodimArray = new int[3][4];
deklariert eine Variable, twodimArray, vom Typint [] [] und initialisiert diese Variable, um auf ein neu erstelltes Objekt zu verweisen. Dieses Objekt ist ein Array von Ints-Arrays. Hier gibt die Notation int [3] [4] an, dass das Array twodimArray 3 Ints-Arrays enthält und dass jedes dieser Arrays 4 Ints enthält.
Dies hat einige interessante Konsequenzen: Zeilen können unterschiedlich groß sein. Außerdem ist jede Zeile ein Objekt (ein Array), das unabhängig verwendet werden kann.
Erklärung
int[][] a1; // Declares, but doesn't allocate, 2-dim array.
Zuweisung
Wie bei allen Arrays muss das neue Schlüsselwort verwendet werden, um Speicher für ein Array zuzuweisen. Zum Beispiel,
int[][] a1 = new int[3][4];
Oder:
int[][] a1; a1 = new int[3][4];
Oder:
double[][] ID3 = { {1.0, 0.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 1.0}};
Dies weist ein int-Array mit 3 Zeilen und 4 Spalten zu. Wie bei allen Objekten werden die Werte auf Null initialisiert (im Gegensatz zu lokalen Variablen, die nicht initialisiert sind).
Dies ordnet tatsächlich 5 Objekte zu: ein eindimensionales Array von 4 Elementen für jede der Zeilen und ein eindimensionales Array von 3 Elementen, wobei jedes Element auf das entsprechende Zeilenarray zeigt.
wird bearbeitet
Oft werden zweidimensionale Arrays mit verschachtelten for-Schleifen verarbeitet. Beachten Sie im folgenden Beispiel, wie die Zeilen als separate Objekte behandelt werden.
Java-Programm
public class TwoDimArrayDemo{ public static void main(String[] args) { int[][] twoDimArray = new int[3][4]; for (int i=0; i<twoDimArray.length; i++) { for (int j=0; j<twoDimArray[i].length; j++) { twoDimArray[i][j] = i; System.out.print(" " + twoDimArray[i][j]); } System.out.println(""); } } }
Ausgabe
3 Dimensional Array in Java
Java-Programm
class Array3D{ public static void main(String args[]){ int[][][] a2 = new int[2][2][4]; for (int i = 0; i < a2.length; i++) for (int j = 0; j < a2[i].length; j++) for (int k = 0; k < a2[i][j].length; k++) System.out.println("a2[" + i + "][" + j + "][" + k + "] = "+ a2[i][j][k]); } }
Ausgabe
Erklärung von Code & Ausgabe
Mehrdimensionales Array wird durch verarbeitetverschachtelte Schleifen. Für ein n-dimensionales Array benötigen Sie n verschachtelte Schleifen. Wie gesagt, der Standardwert für jede Position eines Arrays ist "0". Dies wurde anhand der Ausgabe eines dreidimensionalen Arrays bewiesen.
Weitere nützliche Tutorials und definitive Richtlinien zur Java-Programmierung finden Sie hier.
Bemerkungen