logo

Tableaux multidimensionnels en Java

Bases des tableaux en Java Tableaux multidimensionnels peut être défini avec des mots simples comme un tableau de tableaux. Les données des tableaux multidimensionnels sont stockées sous forme de tableau (dans l’ordre principal des lignes).

Syntaxe:



Type de données [1ère dimension][2ème dimension][]..[Nième dimension] nom_tableau = nouveau type_données [taille1][taille2]….[tailleN];

où:

  • Type de données : Type de données à stocker dans le tableau. Par exemple : int, char, etc.
  • dimension : La dimension du tableau créé. Par exemple : 1D, 2D, etc.
  • nom_tableau : Nom du tableau
  • taille1, taille2, …, tailleN : Tailles des dimensions respectivement.

Exemples:



Two dimensional array: int[][] twoD_arr = new int[10][20];  Three dimensional array: int[][][] threeD_arr = new int[10][20][30];>

Taille des tableaux multidimensionnels : Le nombre total d'éléments pouvant être stockés dans un tableau multidimensionnel peut être calculé en multipliant la taille de toutes les dimensions.

Par exemple: Le tableau int[][] x = nouveau int[10][20] peut stocker un total de (10*20) = 200 éléments. De même, le tableau int[][][] x = nouveau int[5][10][20] peut stocker un total de (5*10*20) = 1000 éléments.

Application du tableau multidimensionnel

● Des tableaux multidimensionnels sont utilisés pour stocker les données sous forme de tableau. Par exemple, le stockage du numéro de matricule et des notes d'un élève peut être facilement effectué à l'aide de tableaux multidimensionnels. Une autre utilisation courante consiste à stocker les images dans des tableaux 3D.



● Dans les questions de programmation dynamique, des tableaux multidimensionnels sont utilisés pour représenter les états du problème.

● En dehors de cela, ils ont également des applications dans de nombreux problèmes algorithmiques standards tels que : la multiplication matricielle, la représentation matricielle d'adjacence dans les graphiques, les problèmes de recherche de grille.

Tableau bidimensionnel (tableau 2D)

Un tableau bidimensionnel est la forme la plus simple d’un tableau multidimensionnel. Un tableau à deux dimensions peut être considéré comme un tableau d’un tableau à une dimension pour une compréhension plus facile.

Méthode indirecte de déclaration :

  • Déclaration – Syntaxe :
  data_type[][] array_name = new data_type[x][y];   For example: int[][] arr = new int[10][20];>
  • Initialisation – Syntaxe :
  array_name[row_index][column_index] = value;   For example: arr[0][0] = 1;>

Exemple: 1

Java




import> java.io.*;> public> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][] arr =>new> int>[>10>][>20>];> >arr[>0>][>0>] =>1>;> >System.out.println(>'arr[0][0] = '> + arr[>0>][>0>]);> >}> }>

>

>

Sortir

arr[0][0] = 1>

Exemple : Implémentation d'un tableau 2D avec des valeurs par défaut avec une matrice 4*4

Java




public> class> TwoDArray {> >public> static> void> main(String[] args) {> >int> rows =>4>;> >int> columns =>4>;> >int>[][] array =>new> int>[rows][columns];> >int> value =>1>;> >for> (>int> i =>0>; i for (int j = 0; j array[i][j] = value; value++; } } System.out.println('The 2D array is: '); for (int i = 0; i for (int j = 0; j System.out.print(array[i][j] + ' '); } System.out.println(); } } }>

>

>

Sortir

The 2D array is: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16>

Explication:

  • Le nombre de lignes et de colonnes est spécifié à l'aide des variables lignes et colonnes. Le tableau 2D est créé à l'aide de l'opérateur new, qui alloue de la mémoire au tableau. La taille du tableau est spécifiée par des lignes et des colonnes.

Méthode directe de déclaration : Syntaxe:

  data_type[][] array_name = {     {valueR1C1, valueR1C2, ....},      {valueR2C1, valueR2C2, ....}     };   For example: int[][] arr = {{1, 2}, {3, 4}};>

Exemple:

Java




import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][] arr = { {>1>,>2> }, {>3>,>4> } };> >for> (>int> i =>0>; i <>2>; i++)> >for> (>int> j =>0>; j <>2>; j++)> >System.out.println(>'arr['> + i +>']['> + j +>'] = '> >+ arr[i][j]);> >}> }>

>

>

Sortir

arr[0][0] = 1 arr[0][1] = 2 arr[1][0] = 3 arr[1][1] = 4>

Accès aux éléments des tableaux bidimensionnels

Les éléments des tableaux bidimensionnels sont communément désignés par x[i][j] où « i » est le numéro de ligne et « j » est le numéro de colonne.

Syntaxe:

x[row_index][column_index]>

Par exemple:

int[][] arr = new int[10][20]; arr[0][0] = 1;>

L'exemple ci-dessus représente l'élément présent dans la première ligne et la première colonne. Note : Dans les tableaux si la taille du tableau est N. Son index sera de 0 à N-1. Par conséquent, pour row_index 2, le numéro de ligne réel est 2+1 = 3. Exemple:

Java




bloquer les publicités youtube android

import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][] arr = { {>1>,>2> }, {>3>,>4> } };> >System.out.println(>'arr[0][0] = '> + arr[>0>][>0>]);> >}> }>

>

>

Sortir

arr[0][0] = 1>

Représentation du tableau 2D au format tabulaire :

Un tableau à deux dimensions peut être vu comme un tableau avec des lignes « x » et des colonnes « y » où le numéro de ligne va de 0 à (x-1) et le numéro de colonne va de 0 à (y-1). Un tableau bidimensionnel « x » avec 3 lignes et 3 colonnes est présenté ci-dessous :

deux jours

Imprimer un tableau 2D au format tabulaire :

Pour afficher tous les éléments d’un tableau bidimensionnel, utilisez des boucles for imbriquées. Pour cela, deux boucles for sont nécessaires, une pour parcourir les lignes et une autre pour parcourir les colonnes.

Exemple:

Java




import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][] arr = { {>1>,>2> }, {>3>,>4> } };> >for> (>int> i =>0>; i <>2>; i++) {> >for> (>int> j =>0>; j <>2>; j++) {> >System.out.print(arr[i][j] +>' '>);> >}> >System.out.println();> >}> >}> }>

>

>

Sortir

1 2 3 4>

Exemple : implémentation d'un tableau 2D avec entrée utilisateur

Java




import> java.util.Scanner;> public> class> Main {> >public> static> void> main(String[] args)> >{> >Scanner scan =>new> Scanner(System.in);> >System.out.print(>'Enter number of rows: '>);> >int> rows = scan.nextInt();> >System.out.print(>'Enter number of columns: '>);> >int> columns = scan.nextInt();> >int>[][] multidimensionalArray=>new> int>[rows][columns];> >// Now you can use the array like a regular> >// 2-dimensional array> >for> (>int> i =>0>; i for (int j = 0; j multidimensionalArray[i][j]= (i + 1) * (j + 1); } } for (int i = 0; i for (int j = 0; j System.out.print(multidimensionalArray[i][j]+ ' '); } System.out.println(); } scan.close(); } }>

>

>

Sortir

Enter number of rows: 3 Enter number of columns: 3 1 2 3  2 4 6  3 6 9>
  • Ce code invite l'utilisateur à saisir le nombre de lignes et de colonnes pour le tableau à 2 dimensions. La classe Scanner est utilisée pour lire l'entrée de l'utilisateur. Ensuite, il crée un tableau bidimensionnel d'entiers avec le nombre spécifié de lignes et de colonnes et attribue à chaque élément du tableau i*j.
  • Si vous souhaitez créer un tableau multidimensionnel comportant plus de deux dimensions, vous pouvez utiliser la même approche pour créer un tableau de tableaux. Par exemple, pour créer un tableau à 3 dimensions, vous pouvez créer un tableau de tableaux à 2 dimensions.

Tableau tridimensionnel (3D-Array)

Un tableau tridimensionnel est une forme complexe de tableau multidimensionnel. Un tableau tridimensionnel peut être considéré comme un tableau bidimensionnel pour une compréhension plus facile.

Méthode indirecte de déclaration :

  • Déclaration – Syntaxe :
  data_type[][][] array_name = new data_type[x][y][z];   For example: int[][][] arr = new int[10][20][30];>
  • Initialisation – Syntaxe :
  array_name[array_index][row_index][column_index] = value;   For example: arr[0][0][0] = 1;>

Exemple:

Java




import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][][] arr =>new> int>[>10>][>20>][>30>];> >arr[>0>][>0>][>0>] =>1>;> >System.out.println(>'arr[0][0][0] = '> + arr[>0>][>0>][>0>]);> >}> }>

>

>

Sortir

arr[0][0][0] = 1>

Méthode directe de déclaration : Syntaxe:

  data_type[][][] array_name = {     {     {valueA1R1C1, valueA1R1C2, ....},      {valueA1R2C1, valueA1R2C2, ....}     },     {     {valueA2R1C1, valueA2R1C2, ....},      {valueA2R2C1, valueA2R2C2, ....}     }     };   For example: int[][][] arr = { {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}} };>

Exemple:

Java




import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][][] arr = { { {>1>,>2> }, {>3>,>4> } }, { {>5>,>6> }, {>7>,>8> } } };> >for> (>int> i =>0>; i <>2>; i++)> >for> (>int> j =>0>; j <>2>; j++)> >for> (>int> z =>0>; z <>2>; z++)> >System.out.println(>'arr['> + i> >+>']['> >+ j +>']['> >+ z +>'] = '> >+ arr[i][j][z]);> >}> }>

>

>

Sortir

arr[0][0][0] = 1 arr[0][0][1] = 2 arr[0][1][0] = 3 arr[0][1][1] = 4 arr[1][0][0] = 5 arr[1][0][1] = 6 arr[1][1][0] = 7 arr[1][1][1] = 8>

Accès aux éléments des tableaux tridimensionnels

Les éléments des tableaux tridimensionnels sont communément désignés par x[i][j][k] où « i » est le numéro du tableau, « j » est le numéro de ligne et « k » est le numéro de colonne.

Syntaxe:

x[array_index][row_index][column_index]>

Par exemple:

int[][][] arr = new int[10][20][30]; arr[0][0][0] = 1;>

L'exemple ci-dessus représente l'élément présent dans la première ligne et la première colonne du premier tableau du tableau 3D déclaré.

Note : Dans les tableaux si la taille du tableau est N. Son index sera de 0 à N-1. Par conséquent, pour row_index 2, le numéro de ligne réel est 2+1 = 3.

Exemple:

Java




import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][][] arr = { { {>1>,>2> }, {>3>,>4> } }, { {>5>,>6> }, {>7>,>8> } } };> >System.out.println(>'arr[0][0][0] = '> + arr[>0>][>0>][>0>]);> >}> }>

>

>

Sortir

arr[0][0][0] = 1>

Représentation du tableau 3D au format tabulaire :

programmation java des nombres premiers

Un tableau tridimensionnel peut être vu comme un tableau de tableaux avec des lignes « x » et des colonnes « y » où le numéro de ligne va de 0 à (x-1) et le numéro de colonne va de 0 à (y-1). Un tableau tridimensionnel avec 3 tableaux contenant 3 lignes et 3 colonnes est présenté ci-dessous :

Imprimez un tableau 3D au format tabulaire :

Pour afficher tous les éléments d’un tableau tridimensionnel, utilisez des boucles for imbriquées. Pour cela, trois boucles for sont nécessaires, une pour parcourir les tableaux, la seconde pour parcourir les lignes et une autre pour parcourir les colonnes.

Exemple:

Java




import> java.io.*;> class> GFG {> >public> static> void> main(String[] args)> >{> >int>[][][] arr = { { {>1>,>2> }, {>3>,>4> } },> >{ {>5>,>6> }, {>7>,>8> } } };> >for> (>int> i =>0>; i <>2>; i++) {> >for> (>int> j =>0>; j <>2>; j++) {> >for> (>int> k =>0>; k <>2>; k++) {> >System.out.print(arr[i][j][k] +>' '>);> >}> >System.out.println();> >}> >System.out.println();> >}> >}> }>

>

>

Sortir

1 2 3 4 5 6 7 8>

Insertion d'un tableau multidimensionnel pendant l'exécution :

Ce sujet est forcé de prendre des entrées définies par l'utilisateur dans un tableau multidimensionnel pendant l'exécution. Il se concentre sur le fait que l'utilisateur donne d'abord toutes les entrées au programme pendant l'exécution et après toutes les entrées saisies, le programme donnera une sortie par rapport à chaque entrée en conséquence. C'est utile lorsque l'utilisateur souhaite d'abord saisir plusieurs cas de test avec plusieurs valeurs différentes et qu'une fois toutes ces choses effectuées, le programme commencera à fournir une sortie. À titre d’exemple, trouvons le nombre total de nombres pairs et impairs dans un tableau d’entrée. Ici, nous utiliserons le concept de tableau à 2 dimensions.

Voici quelques points qui expliquent l’utilisation des différents éléments dans le code à venir :

  • Le nombre entier de ligne est considéré comme le nombre de cas de test et les valeurs de colonne sont considérées comme des valeurs dans chaque cas de test.
  • Une boucle for() est utilisée pour mettre à jour le numéro de cas de test et une autre boucle for() est utilisée pour prendre les valeurs de tableau respectives.
  • Comme toutes les entrées sont effectuées, encore une fois, deux boucles for() sont utilisées de la même manière pour exécuter le programme selon la condition spécifiée.
  • La première ligne de saisie correspond au nombre total de TestCases.
  • La deuxième ligne affiche le nombre total de valeurs du premier tableau.
  • La troisième ligne donne les valeurs du tableau, etc.

Mise en œuvre:

Java




import> java.io.*;> import> java.util.Scanner;> class> GFGTestCase {> >public> static> void> main(String[] args)> >{> >// Scanner class to take> >// values from console> >Scanner scanner =>new> Scanner(System.in);> >// totalTestCases = total> >// number of TestCases> >// eachTestCaseValues => >// values in each TestCase as> >// an Array values> >int> totalTestCases, eachTestCaseValues;> >// takes total number of> >// TestCases as integer number> >totalTestCases = scanner.nextInt();> >// An array is formed as row> >// values for total testCases> >int>[][] arrayMain =>new> int>[totalTestCases][];> >// for loop to take input of> >// values in each TestCase> >for> (>int> i =>0>; i eachTestCaseValues = scanner.nextInt(); arrayMain[i] = new int[eachTestCaseValues]; for (int j = 0; j arrayMain[i][j] = scanner.nextInt(); } } // All input entry is done. // Start executing output // according to condition provided for (int i = 0; i // Initialize total number of // even & odd numbers to zero int nEvenNumbers = 0, nOddNumbers = 0; // prints TestCase number with // total number of its arguments System.out.println('TestCase ' + i + ' with ' + arrayMain[i].length + ' values:'); for (int j = 0; j System.out.print(arrayMain[i][j] + ' '); // even & odd counter updated as // eligible number is found if (arrayMain[i][j] % 2 == 0) { nEvenNumbers++; } else { nOddNumbers++; } } System.out.println(); // Prints total numbers of // even & odd System.out.println( 'Total Even numbers: ' + nEvenNumbers + ', Total Odd numbers: ' + nOddNumbers); } } } // This code is contributed by Udayan Kamble.>

>

>

Sortir:

  Input:  2 2 1 2 3 1 2 3    Output:  TestCase 0 with 2 values: 1 2  Total Even numbers: 1, Total Odd numbers: 1 TestCase 1 with 3 values: 1 2 3  Total Even numbers: 1, Total Odd numbers: 2    Input:  3 8 1 2 3 4 5 11 55 66 5 100 101 55 35 108 6 3 80 11 2 1 5    Output:  TestCase 0 with 8 values: 1 2 3 4 5 11 55 66  Total Even numbers: 3, Total Odd numbers: 5 TestCase 1 with 5 values: 100 101 55 35 108  Total Even numbers: 2, Total Odd numbers: 3 TestCase 2 with 6 values: 3 80 11 2 1 5  Total Even numbers: 2, Total Odd numbers: 4>