Avant de comprendre les tableaux 3D en Java, nous devons savoir ce qu'est le tableau et pourquoi est-il utilisé dans les langages de programmation ? Les tableaux sont essentiellement un groupe de types de valeurs similaires désignés par le même nom. Par type similaire, nous entendons les valeurs du même type de données. Prenons une situation dans laquelle nous souhaitons stocker les noms de tous les élèves d’une classe. Comme le nom de l'étudiant est de type de données String, il serait incorrect de stocker le nom de chaque étudiant dans une variable différente, car cela occuperait non seulement beaucoup d'espace, mais créerait également de la confusion dans un programme en augmentant presque la même chose. lignes de code. Donc, pour gérer ce type de situations, des tableaux sont utilisés. Le programmeur peut créer un tableau de Student_names et spécifier sa taille au moment de la création de l'objet tableau. De cette façon, il ne serait pas nécessaire de spécifier le nom de la variable pour chaque nom d'élève, et chaque fois que nous souhaitons mettre à jour, insérer et récupérer les valeurs, les indices de ce tableau peuvent être utilisés.
En Java, une variable tableau est déclarée similaire aux autres variables avec le signe [] après son type de données. La taille du tableau doit être définie au moment de la création du tableau et elle reste constante. Les éléments du tableau sont accessibles par les index numériques, le premier élément étant stocké à 0 index. Il existe essentiellement deux types de tableaux en Java, à savoir les tableaux unidimensionnels et multidimensionnels. Les tableaux 3D entrent dans la catégorie des tableaux multidimensionnels. Les tableaux multidimensionnels, en termes simples, peuvent être définis comme un tableau de tableaux, et les tableaux 3D sont un tableau de tableaux 2D. La 3D est une forme complexe de tableaux multidimensionnels. Considérons un scénario d'appartements dans un immeuble. Supposons qu'il y ait 10 étages dans l'appartement et que chaque étage dispose de 5 appartements, et chaque appartement dispose de 3 pièces. Pour gérer ces données en programmation, des tableaux 3D sont utilisés.
PUBLICITÉ Cours populaire dans cette catégorie MAÎTRISÉE JAVA - Spécialisation | 78 séries de cours | 15 tests simulésJava utilise une manière très simple de définir les tableaux. Les crochets (« [ ] ») sont utilisés pour définir l'objet tableau après le type de données du tableau. Il faut définir la taille au moment de la déclaration du tableau. Les tableaux 3D sont définis avec trois crochets. Vous trouverez ci-dessous la syntaxe de définition des tableaux 3D en Java :
Data_type array_name[ ] [ ] [ ] = new array_name[a][b][c];
Syntaxe :
int [ ] [ ] [ ] arr = new int [10][4][3];
Il peut y avoir un maximum de 10x4x3 = 120 éléments stockés par le tableau 'arr' dans l'exemple ci-dessus.
Créer des tableaux 3D en Java est aussi simple que créer des tableaux 1D et 2D. Comme mentionné ci-dessus, il est important de définir la taille d'un tableau au moment de la déclaration. La création de tableaux 3D implique une étape supplémentaire de transmission/saisie de valeurs sous la forme d'un tableau de tableaux 2D. Nous pouvons définir la taille d'un tableau et insérer/saisir les valeurs par la suite, ou nous pouvons transmettre directement les valeurs dans un tableau. Ainsi, le mode de valeur défini dans les tableaux 3D est donné ci-dessous :
Syntaxe
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} }, };
Les tableaux sont à l'intérieur d'un tableau, c'est pourquoi on les appelle un tableau de tableaux 2D. Si on le voit bien dans l'exemple ci-dessus, il y a deux tableaux de nombres 2D et ce 2D.
Comme mentionné ci-dessus, l'initialisation de l'ensemble du tableau en même temps est une bonne pratique lorsque vous travaillez avec des tableaux 3D, car cela réduit les risques de confusion pour la programmation future. Bien que nous puissions également attribuer une valeur à la fois dans un tableau, ce qui peut être fait de la manière mentionnée ci-dessous :
Syntaxe :
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
L'approche ci-dessus est fastidieuse et n'est pas considérée comme une bonne approche car elle occupe beaucoup d'espace et augmente le nombre de lignes de code. Il existe également une approche utilisant les boucles, qui sont considérées comme une bonne pratique lorsque l'on travaille avec des tableaux 3D.
Syntaxe :
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; } } }
Dans l'exemple ci-dessus, tous les éléments du tableau sont insérés à l'aide des boucles où x = no. de tableaux, y = nombre total de lignes et z désigne le nombre total de colonnes dans un tableau 3D nommé Student_arr.
En Java, bien que nous puissions accéder à l'unique élément du tableau en utilisant les indices car nous les avons initialisés par des index similaires à celui donné ci-dessous :
Syntaxe :
int arr [ ] [ ] [ ] = new arr [3] [3] [3]; // Accessing the array elements of 3D arrays in Java using indices
Syntaxe :
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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!