multidimensional arrays java 2d
In diesem Tutorial zu mehrdimensionalen Arrays in Java wird erläutert, wie Sie 2D- und 3D-Arrays in Java mit Syntax- und Codebeispielen initialisieren, darauf zugreifen und drucken:
Bisher haben wir die wichtigsten Konzepte für eindimensionale Arrays diskutiert. Diese Arrays speichern eine einzelne Sequenz oder Liste von Elementen desselben Datentyps.
Java unterstützt auch Arrays mit mehr als einer Dimension. Diese werden als mehrdimensionale Arrays bezeichnet.
=> Überprüfen Sie ALLE Java-Tutorials hier.
Die mehrdimensionalen Java-Arrays sind als Array von Arrays angeordnet, d. H. Jedes Element eines mehrdimensionalen Arrays ist ein anderes Array. Die Darstellung der Elemente erfolgt in Zeilen und Spalten. Auf diese Weise können Sie eine Gesamtzahl von Elementen in einem mehrdimensionalen Array erhalten, indem Sie die Zeilengröße mit der Spaltengröße multiplizieren.
Wenn Sie also ein zweidimensionales Array von 3 × 4 haben, ist die Gesamtzahl der Elemente in diesem Array = 3 × 4 = 12.
In diesem Tutorial werden wir mehrdimensionale Arrays in Java untersuchen. Lassen Sie uns zuerst die zweidimensionalen Arrays diskutieren, bevor Sie zu drei oder mehr dimensionalen Arrays übergehen.
Was du lernen wirst:
- Zweidimensionales Array
- Mehrdimensionale Java-Arrays
- Dreidimensionale Arrays in Java
- Häufig gestellte Fragen
- Fazit
Zweidimensionales Array
Das einfachste der mehrdimensionalen Anordnung ist eine zweidimensionale Anordnung. Eine einfache Definition von 2D-Arrays lautet: Ein 2D-Array ist ein Array eindimensionaler Arrays.
In Java wird ein zweidimensionales Array in Form von Zeilen und Spalten gespeichert und in Form einer Matrix dargestellt.
Die allgemeine Deklaration eines zweidimensionalen Arrays lautet:
data_type () () array_name;
Hier,
Datentyp = Datentyp der Elemente, die in einem Array gespeichert werden.
Array_Name = Name des zweidimensionalen Arrays.
Sie können ein 2D-Array mit new wie folgt erstellen:
data_type () () array_name = new data_type(row_size)(column_size);
Hier,
row_size = Anzahl der Zeilen, die ein Array enthalten wird.
column_size = Anzahl der Spalten, die das Array enthalten wird.
Wenn Sie also ein Array von 3 × 3 haben, bedeutet dies, dass es 3 Zeilen und 3 Spalten hat.
Das Layout dieses Arrays ist wie folgt.
Zeilen / Spalten | Spalte1 | Spalte2 | Spalte3 |
---|---|---|---|
Zeile1 | (0,0) | (0.1) | (0,2) |
Zeile2 | (1.0) | (1,1) | (1,2) |
Zeile3 | (2.0) | (2.1) | (2.2) |
Wie oben gezeigt, speichert jeder Schnittpunkt von Zeile und Spalte ein Element des 2D-Arrays. Wenn Sie also auf das erste Element im 2d-Array zugreifen möchten, wird es durch (0, 0) angegeben.
Hinweis Da die Arraygröße 3 × 3 beträgt, können Sie 9 Elemente in diesem Array haben.
Ein ganzzahliges Array mit dem Namen 'myarray' aus 3 Zeilen und 2 Spalten kann wie folgt deklariert werden.
int ()() myarray = new int(3)(2);
Sobald das Array deklariert und erstellt wurde, ist es Zeit, es mit Werten zu initialisieren.
2d Array initialisieren
Es gibt verschiedene Möglichkeiten, das 2d-Array mit Werten zu initialisieren. Die erste Methode ist die herkömmliche Methode, jedem Element Werte zuzuweisen.
Die allgemeine Syntax für die Initialisierung lautet:
array_name(row_index)(column_index) = value;
Beispiel:
int()() myarray = new int(2)(2); myarray(0)(0) = 1; myarray(0)(1) = myarray(1)(0) = 0; myarray(1)(1) = 1;
Die obigen Anweisungen initialisieren alle Elemente des angegebenen 2d-Arrays.
Lassen Sie es uns in ein Programm einfügen und die Ausgabe überprüfen.
public class Main { public static void main(String() args) { int()() myarray = new int(2)(2); myarray(0)(0) = 1; myarray(0)(1) = myarray(1)(0) = 0; myarray(1)(1) = 1; System.out.println('Array elements are:'); System.out.println(myarray(0)(0) + ' ' +myarray(0)(1)); System.out.println(myarray(1)(0) + ' ' +myarray(1)(1)); } }
Ausgabe:
Diese Methode kann nützlich sein, wenn die Abmessungen kleiner sind. Mit zunehmender Array-Dimension ist es schwierig, diese Methode zur individuellen Initialisierung der Elemente zu verwenden.
Die nächste Methode zum Initialisieren des 2d-Arrays in Java besteht darin, das Array nur zum Zeitpunkt der Deklaration zu initialisieren.
Die allgemeine Syntax für diese Initialisierungsmethode lautet wie folgt:
data_type()() array_name = {{val_r1c1,val_r1c2,...val_r1cn}, {val_r2c1, val_r2c2,...val_r2cn}, … {val_rnc1, val_rnc2,…val_rncn}};
Zum Beispiel, Wenn Sie ein 2 × 3-Array vom Typ int haben, dann Sie können es mit der Deklaration initialisieren als:
int ()() intArray = {{1, 2, 3}, {4, 5, 6}};
Das folgende Beispiel zeigt die 2d-Array-Deklaration mit Initialisierung.
public class Main { public static void main(String() args) { //2-d array initialised with values int()() intArray = { { 1, 2 }, { 3, 4 },{5,6}}; //print the array System.out.println('Initialized Two dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { System.out.print(intArray (i)(j) + ' '); } System.out.println(); } } }
Ausgabe:
Im obigen Programm wird das Array zum Zeitpunkt der Deklaration selbst initialisiert und dann werden die Werte angezeigt.
Sie können die Werte auch mithilfe einer Schleife wie unten gezeigt initialisieren oder dem 2d-Array zuweisen.
int()() intArray = new int(3)(3); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i+1; } }
Das folgende Programm implementiert den obigen Code.
public class Main { public static void main(String() args) { //declare an array of int int()() intArray = new int(3)(3); System.out.println('Array elements are:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i+1; //assign values to each array element System.out.print(intArray(i)(j) + ' '); //print each element } System.out.println(); } } }
Ausgabe:
Jedem Element im obigen 2d-Array wird der Wert 'i + 1' zugewiesen. Dadurch enthält jedes Element in einer Zeile des Arrays denselben Wert.
Zugriff auf und Drucken eines 2d-Arrays
Sie wissen bereits, dass Sie beim Initialisieren des 2d-Arrays die einzelnen Elemente des Arrays auf einen Wert initialisieren können. Dies erfolgt mithilfe des Zeilenindex und des Spaltenindex des Arrays, um auf ein bestimmtes Element zuzugreifen.
Ähnlich wie bei der Initialisierung können Sie auch auf den Wert des einzelnen Elements zugreifen und ihn an den Benutzer drucken.
Die allgemeine Syntax für den Zugriff auf das Array-Element lautet:
data_typeval = array_name(row_index)(column_index);
Wobei array_name das Array ist, auf dessen Element zugegriffen wird, und data_type dem Datentyp des Arrays entspricht.
Das folgende Programm zeigt, wie auf ein einzelnes Element zugegriffen und es gedruckt wird.
public class Main { public static void main(String() args) { //two dimensional array definition int()() intArray = {{1,2},{4,8}}; //Access individual element of array intval = intArray(0)(1); //print the element System.out.println('Accessed array value = ' + val); System.out.println('Contents of Array:' ); //print individual elements of array System.out.println(intArray(0)(0) + ' ' + intArray(0)(1)); System.out.println(intArray(1)(0) + ' ' + intArray(1)(1)); } }
Ausgabe:
Auf diese Weise können Sie mithilfe von Zeilen- und Spaltenindizes in eckigen (()) Klammern einfach auf einzelne Array-Elemente zugreifen und diese drucken.
Sie können das gesamte Array auf einmal in einem Tabellenformat wie oben gezeigt (auch als Matrixform bezeichnet) mit der for-Schleife drucken. Da es sich um ein zweidimensionales Array handelt, benötigen Sie hierfür zwei Schleifen. Eine Schleife zum Durchlaufen von Zeilen, d. H. Die äußere Schleife und die innere Schleife zum Durchlaufen der Spalten.
Zu jedem Zeitpunkt (aktuelle Iteration) ist das bestimmte Element im Array gegeben durch:
Array-Name (i) (j);
Wobei 'i' die aktuelle Zeile und 'j' die aktuelle Spalte ist.
Das folgende Programm zeigt das Drucken eines 2D-Arrays mit einer for-Schleife.
public class Main { public static void main(String() args) { //two dimensional array definition int()() intArray = new int(3)(3); //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i*j; //assign value to each array element System.out.print(intArray (i)(j) + ' '); } System.out.println(''); } } }
Ausgabe:
Im obigen Programm wird das 2d-Array initialisiert und dann werden die Elemente unter Verwendung von zwei for-Schleifen gedruckt. Die äußere wird verwendet, um Zeilen zu verfolgen, während die innere for-Schleife für Spalten ist.
Java 2d Array Länge
Ein zweidimensionales Array ist definiert als das Array eines eindimensionalen Arrays. Wenn Sie also die Länge eines 2D-Arrays benötigen, ist dies nicht so einfach wie bei einem eindimensionalen Array.
Die Länge-Eigenschaft für ein zweidimensionales Array gibt die Anzahl der Zeilen im Array zurück. Jede Zeile ist ein eindimensionales Array. Sie wissen bereits, dass das zweidimensionale Array aus Zeilen und Spalten besteht. Die Spaltengröße kann für jede Zeile variieren.
Daher können Sie die Größe jeder Zeile erhalten, indem Sie die Anzahl der Zeilen durchlaufen.
Das folgende Programm gibt die Länge des Arrays (Anzahl der Zeilen) sowie die Größe jeder Zeile an.
public class Main { public static void main(String() args) { //initialize 2-d array int()() myArray = { { 1, 2, 3 }, { 4, 5 } }; System.out.println('length of array:' + myArray.length); //number of rows for(int i=0;i Ausgabe:

Ein oben definiertes zweidimensionales Array hat zwei Zeilen. Jede Zeile ist ein eindimensionales Array. Das erste 1D-Array enthält 3 Elemente (3 Spalten), während die zweite Zeile 2 Elemente enthält.
Das folgende Java-Programm zeigt die Verwendung der Eigenschaft length zum Drucken des 2d-Arrays.
public class Main { public static void main(String() args) { //two dimensional array definition int()() myarray = new int(3)(3); //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i Ausgabe:

Wie bereits erwähnt, repräsentiert die äußere Schleife die Zeilen und die innere for-Schleife die Spalten.
Hinweis: Die Abschlussbedingung in beiden Schleifen verwendet die Eigenschaft length, um zuerst durch Zeilen und dann durch Spalten zu iterieren.
Mehrdimensionale Java-Arrays
Wir haben bereits zweidimensionale Arrays gesehen. Java unterstützt Arrays mit mehr als zwei Dimensionen.
Die allgemeine Syntax eines mehrdimensionalen Arrays lautet wie folgt:
data_type (d1)(d2)…(dn) array_name = new data_type(d1_size)(d2_size)…(dn_size);
Hier,
d1, d2… dn = Dimensionen des mehrdimensionalen Arrays
(d1_size) (d2_size)… (dn_size) = jeweilige Größe der Dimensionen
Datentyp = Datentyp der Array-Elemente
array_name = Name des mehrdimensionalen Arrays
Lassen Sie uns als Beispiel für ein weiteres mehrdimensionales Array außer dem 2d-Array die Details dreidimensionaler (3d) Arrays diskutieren.
bester Youtube zu MP4 Konverter online
Dreidimensionale Arrays in Java
Wir haben bereits diskutiert, dass ein Array mit zunehmenden Dimensionen komplexer wird. Dreidimensionale Arrays sind für mehrdimensionale Arrays komplex. Ein dreidimensionales kann als ein Array von zweidimensionalen Arrays definiert werden.
Die allgemeine Definition eines dreidimensionalen Arrays ist unten angegeben:
data_type () () () array_name = new data_type (d1)(d2)(d3);
Hier,
d1, d2, d3 = Größen der Abmessungen
Datentyp = Datentyp der Elemente des Arrays
array_name = Name des 3D-Arrays
Beispiel für die Definition eines 3D-Arrays ist:
int () () () intArray = new int(2)(3)(4);
Die obige Definition eines 3D-Arrays kann so interpretiert werden, dass es 2 Tabellen oder Arrays, 3 Zeilen und 4 Spalten mit insgesamt 2x3x4 = 24 Elementen enthält.
Dies bedeutet, dass in einem 3D-Array die drei Dimensionen wie folgt interpretiert werden:
- Die Anzahl der Tabellen / Arrays: Die erste Dimension gibt an, wie viele Tabellen oder Arrays ein 3D-Array haben wird.
- Die Anzahl der Zeilen: Die zweite Dimension gibt die Gesamtzahl der Zeilen an, die ein Array haben wird.
- Die Anzahl der Spalten: Die dritte Dimension gibt die Gesamtzahl der Spalten im 3D-Array an.
3D-Array initialisieren
Die zum Initialisieren eines 3D-Arrays verwendeten Ansätze sind die gleichen wie die zum Initialisieren von zweidimensionalen Arrays verwendeten.
Sie können das Array entweder initialisieren, indem Sie einzelnen Array-Elementen Werte zuweisen, oder das Array während der Deklaration initialisieren.
Das folgende Beispiel zeigt die Initialisierung des 3D-Arrays während der Deklaration.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() intArray = { { { 1, 2, 3}, { 4, 5, 6 } , { 7, 8, 9 } } }; System.out.println ('3-d array is given below :'); //print the elements of array for (int i = 0; i <1; i++) for (int j = 0; j < 3; j++) for (int z = 0; z < 3; z++) System.out.println ('intArray (' + i + ')(' + j + ')(' + z + ') = ' + intArray (i)(j)(z)); } }
Ausgabe:

Nach der Initialisierung des 3D-Arrays während der Deklaration haben wir auf die einzelnen Elemente des Arrays zugegriffen und sie gedruckt.
Zugriff und Druck 3d Array
Das Drucken und Zugreifen auf Array-Elemente in einem dreidimensionalen Array ähnelt dem in zweidimensionalen Arrays.
Das folgende Programm verwendet for-Schleifen, um auf die Array-Elemente zuzugreifen und sie auf der Konsole zu drucken.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() myArray = { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 1, 4, 9 }, { 16, 25, 36 } }, { { 1, 8, 27 }, { 64, 125, 216 } } }; System.out.println('3x2x3 array is given below:'); //print the 3-d array for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { for (int k = 0; k < 3; k++) { System.out.print(myArray(i)(j)(k) + ' '); } System.out.println(); } System.out.println(); } } }
Ausgabe:

Das obige Programm zeigt eine tabellarische Darstellung eines dreidimensionalen Arrays an. Wie gezeigt, handelt es sich um ein 3x2x3-Array, das 3 Tabellen, 2 Zeilen und 3 Spalten und damit 18 Elemente enthält.
Es wurde bereits erwähnt, dass die Spaltengröße in einem mehrdimensionalen Array variieren kann. Das folgende Beispiel zeigt ein dreidimensionales Array mit unterschiedlichen Spaltengrößen.
Dieses Programm verwendet auch eine erweiterte for-Schleife, um das Array zu durchlaufen und seine Elemente anzuzeigen.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() intArray = { {{10, 20, 30},{20, 40, 60}}, { {10, 30,50,70},{50},{80, 90}} }; System.out.println('Multidimensional Array (3-d) is as follows:'); // use for..each loop to iterate through elements of 3d array for (int()() array_2D: intArray) { for (int() array_1D: array_2D) { for(intelem: array_1D) { System.out.print(elem + ' '); } System.out.println(); } System.out.println(); } } }
Ausgabe:

Das verwendete Eingabearray ist ein dreidimensionales Array mit einer unterschiedlichen Länge von Spalten. Die Erweiterung für jede Schleife, die für jede Dimension verwendet wird, zeigt den Inhalt des Arrays in einem Tabellenformat an.
Häufig gestellte Fragen
F # 1) Was meinst du mit zweidimensionalem Array?
Antworten: Ein zweidimensionales Array wird als Array von Arrays bezeichnet und ist normalerweise in Form von Matrizen organisiert, die aus Zeilen und Spalten bestehen. Ein zweidimensionales Array findet seine Verwendung hauptsächlich in relationalen Datenbanken oder ähnlichen Datenstrukturen.
F # 2) Was ist ein eindimensionales Array in Java?
Antworten: Ein eindimensionales Array in Java ist ein Array mit nur einem Index. Dies ist die einfachste Form von Arrays in Java.
F # 3) Was ist der Unterschied zwischen einem eindimensionalen Array und einem zweidimensionalen Array?
Antworten: Ein eindimensionales Array speichert eine einzelne Folge von Elementen und hat nur einen Index. Ein zweidimensionales Array speichert ein Array von Arrays von Elementen und verwendet zwei Indizes, um auf seine Elemente zuzugreifen.
F # 4) Was bedeutet es, zweidimensional zu sein?
Antworten: Zweidimensional bedeutet, nur zwei Dimensionen zu haben. In einer geometrischen Welt sind Objekte, die nur Höhe und Breite haben, zweidimensionale oder 2D-Objekte. Diese Objekte haben keine Dicke oder Tiefe.
Dreieck, Rechtecke usw. sind 2D-Objekte. In Bezug auf die Software bedeutet zweidimensional immer noch, zwei Dimensionen zu haben, und wir definieren normalerweise Datenstrukturen wie Arrays, die 1, 2 oder mehr Dimensionen haben können.
F # 5) Welches steht in einem Array an erster Stelle - Zeilen oder Spalten?
Antworten: Zweidimensionale Arrays werden als Matrizen dargestellt, und Matrizen werden normalerweise in Zeilen x Spalten geschrieben. Zum Beispiel, Eine Matrix der Größe 2 × 3 hat 2 Zeilen und 3 Spalten. Daher stehen auch für das 2D-Array Zeilen an erster Stelle und Spalten an nächster Stelle.
Fazit
Hier ging es um mehrdimensionale Arrays in Java. Wir haben alle Aspekte zweidimensionaler Arrays sowie eines Arrays mit mehr als zwei Dimensionen diskutiert.
Diese werden normalerweise als Array oder Arrays bezeichnet, da bei mehrdimensionalen Arrays jedes Element ein anderes Array ist. Wir können also sagen, dass ein Array ein anderes Array oder einfach ein Array von Arrays enthält.
In unseren kommenden Tutorials werden wir mehr über Arrays erfahren und dann zu anderen Sammlungen übergehen.
=> Sehen Sie sich hier die einfache Java-Schulungsreihe an.
Literatur-Empfehlungen
- Java Array - Wie drucke ich Elemente eines Arrays in Java?
- Java Generic Array - Wie simuliere ich generische Arrays in Java?
- Mehrdimensionale Arrays und gezackte Arrays in C #
- Einführung in Java-Arrays und verwandte Konzepte
- Mehrdimensionale Arrays in C ++
- Java DataTypes, Loops, Arrays, Switch und Assertions
- Java-Array - Deklarieren, Erstellen und Initialisieren eines Arrays in Java
- Java Array Length Tutorial mit Codebeispielen