Bevor wir 3D-Arrays in Java verstehen, sollten wir wissen, was das Array ist und warum es in Programmiersprachen verwendet wird. Arrays sind im Grunde eine Gruppe ähnlicher Wertetypen, die mit demselben Namen bezeichnet werden. Mit ähnlichem Typ meinen wir die Werte desselben Datentyps. Stellen Sie sich eine Situation vor, in der wir die Namen aller Schüler einer Klasse speichern möchten. Da der Name des Schülers vom Datentyp „String“ ist, wäre es falsch, den Namen jedes Schülers in einer anderen Variablen zu speichern, da dies nicht nur viel Platz beanspruchen würde, sondern auch Verwirrung in einem Programm stiften würde, indem es fast den gleichen Wert erhöht Codezeilen. Um solche Situationen zu bewältigen, werden Arrays verwendet. Der Programmierer kann ein Array von Studentennamen erstellen und seine Größe zum Zeitpunkt der Array-Objekterstellung angeben. Auf diese Weise wäre es nicht nötig, den Variablennamen für jeden Schülernamen anzugeben, und wann immer wir die Werte aktualisieren, einfügen und abrufen möchten, können Indizes dieses Arrays verwendet werden.
In Java wird eine Array-Variable ähnlich wie die anderen Variablen mit dem Zeichen [] nach dem Datentyp deklariert. Die Array-Größe muss zum Zeitpunkt der Array-Erstellung definiert werden und bleibt konstant. Auf Array-Elemente wird über die numerischen Indizes zugegriffen, wobei das erste Element bei 0 Indizes gespeichert wird. Grundsätzlich gibt es in Java zwei Arten von Arrays, nämlich eindimensionale und mehrdimensionale Arrays. 3D-Arrays fallen in die Kategorie der mehrdimensionalen Arrays. Mehrdimensionale Arrays können in einfachen Worten als Array von Arrays definiert werden, und 3D-Arrays sind Arrays aus 2D-Arrays. 3D ist eine komplexe Form mehrdimensionaler Arrays. Stellen Sie sich ein Szenario mit Wohnungen in einem Gebäude vor. Angenommen, die Wohnung hat 10 Etagen und jede Etage verfügt über 5 Wohnungen und jede Wohnung über 3 Zimmer. Um diese Daten in der Programmierung zu verarbeiten, werden 3D-Arrays verwendet.
WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 ProbetestsJava verwendet eine sehr einfache Methode zum Definieren der Arrays. Eckige Klammern („[ ]“) werden verwendet, um das Array-Objekt nach dem Datentyp des Arrays zu definieren. Man muss die Größe zum Zeitpunkt der Deklaration des Arrays definieren. 3D-Arrays werden mit drei Klammern definiert. Nachfolgend finden Sie die Syntax zum Definieren der 3D-Arrays in Java:
Data_type array_name[ ] [ ] [ ] = new array_name[a][b][c];
Syntax:
int [ ] [ ] [ ] arr = new int [10][4][3];
Im obigen Beispiel können maximal 10x4x3 = 120 Elemente im Array „arr“ gespeichert werden.
Das Erstellen von 3D-Arrays in Java ist genauso einfach wie das Erstellen von 1D- und 2D-Arrays. Wie oben erwähnt, ist es wichtig, die Größe eines Arrays zum Zeitpunkt der Deklaration zu definieren. Das Erstellen von 3D-Arrays erfordert einen weiteren Schritt der Übergabe/Eingabe von Werten in Form eines Arrays aus 2D-Arrays. Wir können die Größe eines Arrays definieren und die Werte anschließend einfügen/eingeben, oder wir können die Werte direkt in einem Array übergeben. Die Art und Weise der in 3D-Arrays definierten Werte ist unten angegeben:
Syntax
data_type[][][] arr_name = { { {Array1Row1Col1,Array1Row1Col2,....}, {Array1Row2Col1, Array1Row2Col2, ....} }, { {Array2Row1Col1, Array2Row1Col2, ....}, {Array2Row2Col1, Array2Row2Col2, ....} } }
Code
int num_array [ ] [ ] [ ] = { { {10 ,20 ,99}, {30 ,40 ,88} }, { {50 ,60 ,77}, {80 ,70 ,66} }, };
Arrays befinden sich innerhalb eines Arrays und werden daher als Array von 2D-Arrays bezeichnet. Wenn wir es im obigen Beispiel deutlich sehen, gibt es zwei 2D-Zahlenfelder und dieses 2D.
Wie oben erwähnt, ist die gleichzeitige Initialisierung des gesamten Arrays eine bewährte Vorgehensweise bei der Arbeit mit 3D-Arrays, da dadurch die Wahrscheinlichkeit von Verwirrung bei der zukünftigen Programmierung verringert wird. Wir können einem Array jedoch auch jeweils einen Wert zuweisen, was auf die unten beschriebene Weise erfolgen kann:
Syntax:
int employee_arr[ ] [ ] [ ] = new int [10][3][3]; employee_arr[0][0][0] = 100; // it will assign value 100 at very first element of employee_arr employee_arr[0][0][1] = 200; // it will assign value 200 at second element of employee_arr employee_arr[0][0][2] = 300; // it will assign value 100 at third element of employee_arr
Der obige Ansatz ist mühsam und wird nicht als guter Ansatz angesehen, da er viel Platz einnimmt und die Codezeilen erhöht. Es gibt auch einen Ansatz, der die Schleifen verwendet, die als bewährte Methode bei der Arbeit mit 3D-Arrays gelten.
Syntax:
int Student_arr [ ] [ ] [ ] = new arr [2] [3] [4]; int x, y, z, value; for(x = 0; x< 2; x++) { for(y = 0; y< 3; y++) { for(z = 0; z< 4; z++) { Student_arr[x][y][z] = value; value= value*2; } } }
Im obigen Beispiel werden alle Array-Elemente mithilfe der Schleifen eingefügt, wobei x = Nr. ist. der Tabellen, y= Gesamtzahl der Zeilen und z bezeichnet die Gesamtzahl der Spalten in einem 3D-Array namens Student_arr.
In Java können wir jedoch mithilfe der Indizes auf das einzelne Element des Arrays zugreifen, da wir sie durch Indizes ähnlich dem unten angegebenen initialisiert haben:
Syntax:
int arr [ ] [ ] [ ] = new arr [3] [3] [3]; // Accessing the array elements of 3D arrays in Java using indices
Syntax:
System.out.println("The first element of array is" + arr[0][0][0]);
In the above syntax, it will retrieve the element at [0][0][0] index of the array ‘arr’, but normally if we want to retrieve all the elements of an array, then this approach is not followed, and elements are accessed through loops as it retrieves all elements at once. While accessing elements through loops, 3 loops are used in which the first loop defines the total number of tables and the second loop defines the rows, and the third loop defines the columns as given below:
Code:
class Student{ public static void main(String[] args) { // student_arr is the name of 3d array int[][][] student_arr= { { {10, 20, 30}, {20, 30, 40} }, { {40, 50, 60}, {10, 70, 80}, } }; // for loop to iterate through each element of 3D array for (tables = 0; tables<2; tables++) { for (rows= 0; rows <2; rows++) { for (columns= 0; columns<3; columns++) { System.out.print("student_arr[" +tables+ "][" +rows+ "][" +columns+ "] = " +student_arr[tables][rows][columns]+ "\t"); } System.out.println(); } System.out.println(); } }
Output:
student_arr[0] [0] [0] = 10 | student_arr[0] [0] [1] = 20 | student_arr[0] [0] [2] = 30 |
student_arr[0] [1] [0] = 20 | student_arr[0] [1] [1] = 30 | student_arr[0] [1] [2] = 40 |
student_arr[1] [0] [0] = 40 | student_arr[1] [0] [1] = 50 | student_arr[1] [0] [2] = 60 |
student_arr[1] [1] [0] = 10 | student_arr[1] [1] [1] = 70 | student_arr[1] [1] [2] = 80 |
There is as such no method to update elements in a 3D array. Some programming logic is applied to modify the elements, like removing the elements by traverse the whole array with the use of 3 loops and perform the modification either at the particular index or in the whole array. For such a complex task, this processing is not preferred through 3D arrays and done through the use of the collection, ArrayList. In ArrayList set(int index, E element) is used to modify or update the element dynamically in an array. It takes 2 arguments, i.e. the index and element with the modified and updated value.
As we mentioned above, how to work on 3D arrays in Java. Working with multidimensional arrays in Java is somewhat difficult for the new programmers as it involves various loops, but understanding it through the stepwise procedure and keeping in mind the basic rules while working with arrays can make it much easier to work on it.
Das obige ist der detaillierte Inhalt von3D-Arrays in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!