En Java, un tableau à deux dimensions est considéré comme un tableau de tableaux , c'est-à-dire qu'un tableau à deux dimensions est un tableau unidimensionnel spécial et que chaque élément du tableau bidimensionnel est un tableau unidimensionnel.
Type de données de l'élément [][] Nom du tableau = nouveau Type de données de l'élément [longueur du tableau à deux dimensions][longueur du tableau à une dimension] ;
int[][]arr=newint[3][2];
La situation ci-dessus représente qu'il existe trois tableaux unidimensionnels et que chaque tableau unidimensionnel comporte 2 éléments.
Type de données de l'élément [][] Nom du tableau = nouveau Type de données de l'élément [longueur du tableau à deux dimensions][];
int[][]arr=newint[3][];
La situation ci-dessus représente qu'il existe trois tableaux unidimensionnels, mais le nombre d'éléments dans chaque tableau unidimensionnel est incertain et le nombre d'éléments dans chaque tableau unidimensionnel peut être différent.
Type de données de l'élément [][] Nom du tableau = {{Element 1, Element 2,…}, {Element 1, Element 2,…},…};
int[][]arr={{1,2,3},{4,5},{6,7,8,9}};
La situation ci-dessus représente qu'il existe 3 tableaux unidimensionnels. Le premier tableau unidimensionnel a 3 éléments, le deuxième tableau unidimensionnel a 2 éléments et le troisième tableau unidimensionnel a 4 éléments. un tableau unidimensionnel peut être différent.
Il existe deux formats pour déclarer un tableau à deux dimensions :
Nom du tableau de type d'élément de tableau[][];
Type d'élément du tableau[][] nom du tableau ;
Par exemple:
charcat[][];char[][]cat;
L'initialisation des tableaux bidimensionnels est la même que celle des tableaux de même dimension. Il existe deux manières : l'initialisation dynamique et l'initialisation statique.
1) Déclarez d’abord puis initialisez statiquement
Type de données de l'élément [][] nom du tableau à deux dimensions ; nom du tableau à deux dimensions = nouveau type de données de l'élément [][]{{élément 1, élément 2, élément 3,...},{liste de valeurs dans le deuxième ligne}, …,{Liste des valeurs de la ligne n}} ;
2) Initialisation statique lors de la déclaration
Type de données de l'élément [][] Nom du tableau bidimensionnel = nouveau Type de données de l'élément [][]{{Élément 1, Élément 2, Élément 3,…},{Liste de valeurs de la deuxième ligne},…,{ntième liste des valeurs de ligne }} ;
Remarque : Les nombres ne peuvent pas être écrits entre "[][]" dans le "type de données du nouvel élément [][]" à droite, car le nombre de lignes et de colonnes est déterminé par le nombre d'éléments dans {}.
3) Méthode d'écriture simplifiée d'initialisation statique en même temps que la déclaration
Type de données de l'élément [][] Nom du tableau bidimensionnel = {{élément 1, élément 2, élément 3,…},{liste de valeurs dans la deuxième ligne},…,{liste de valeurs dans la nième ligne}} ;
Par exemple:
publicclassMain{publicstaticvoidmain(String[]args){int[][]arr={{1,2,3},{4,5},{6}};//Définir un tableau System.out.println(arr[0 ][0]);//1System.out.println(arr[1][0]);//4System.out.println(arr[2][0]);//6System.out.println(arr[ 0][1]);//2System.out.println(arr[1][1]);//5System.out.println(arr[2][1]);//Hors limites}}
La création d'une initialisation dynamique n'a pas besoin de déclarer la longueur du tableau unidimensionnel à l'intérieur. Par conséquent, la longueur de chaque tableau unidimensionnel peut être différente. Il existe donc les deux méthodes d'initialisation suivantes.
1) Initialisation dynamique 1 : Tableau bidimensionnel des règles
Le programmeur spécifie la longueur du tableau et attribue la valeur plus tard. Au début, le système donnera la valeur initiale par défaut de l'élément. Un tableau bidimensionnel régulier signifie que le nombre de colonnes dans chaque ligne est le même. Le format général est le suivant. Déterminez d’abord le nombre de lignes et le nombre de colonnes :
Type de données de l'élément [][] Nom du tableau à deux dimensions = type de données du nouvel élément [m][n] ;
Où m représente le nombre de tableaux unidimensionnels dans ce tableau à deux dimensions, ou le nombre de lignes dans le tableau à deux dimensions ; n représente le nombre d'éléments dans chaque tableau à une dimension, ou le nombre de cellules qu'il contient. sont dans chaque rangée.
À ce stade, le tableau est créé, le nombre de lignes et de colonnes est déterminé et les éléments ont des valeurs par défaut. Attribuez ensuite de nouvelles valeurs aux éléments :
Nom du tableau bidimensionnel[indice de ligne][indice de colonne]=valeur ;
Par exemple:
publicclassMain{publicstaticvoidmain(String[]args){int[][]arr=newint[3][2];/*Définir un tableau bidimensionnel arr. Ce tableau bidimensionnel comporte trois éléments de tableau unidimensionnels. tableau -dimensionnel Il y a 2 éléments */System.out.println(arr);//Afficher le nom du tableau à deux dimensions System.out.println(arr[0]);//Afficher le nom du premier élément du tableau à deux dimensions et le nom du tableau à une dimension System.out.println(arr[0][0]);//Afficher les éléments du tableau à deux dimensions}}
2) Initialisation dynamique 2 : tableau bidimensionnel irrégulier
Un tableau bidimensionnel irrégulier signifie que le nombre de colonnes dans chaque ligne peut être différent. Son format général est le suivant. Déterminez d'abord le nombre total de lignes.
Type de données de l'élément [][] Nom du tableau à deux dimensions = type de données du nouvel élément [nombre total de lignes][];
À ce stade, seul le nombre total de lignes est déterminé, et chaque ligne est désormais nulle. Ensuite, le nombre de colonnes dans chaque ligne est déterminé et un tableau unidimensionnel de chaque ligne est créé :
Nom du tableau bidimensionnel [indice de ligne] = type de données du nouvel élément [nombre total de colonnes dans la ligne] ;
À ce stade, les éléments des lignes qui passent new ont des valeurs par défaut, et les lignes qui ne passent pas new sont toujours nulles. Enfin, les éléments se voient attribuer une valeur :
Nom du tableau bidimensionnel[indice de ligne][indice de colonne]=valeur ;
Remarque : Les tableaux bidimensionnels irréguliers, après déclaration, ne peuvent pas être abrégés lors de l'initialisation du tableau interne unidimensionnel.
//Un tableau bidimensionnel irrégulier définit un tableau bidimensionnel int[][]arr=newint[3][] //3 lignes, colonnes inconnues //Initialiser la valeur de l'élément dans le tableau bidimensionnel arr[0]= newint[ ]{1};//Ceci ne peut pas être abrégé en arr[0]={1}arr[1]=newint[]{2,3};arr[2]=newint[]{4,5,6 } ;
Le parcours d'un tableau à deux dimensions est le même que celui d'un tableau à une dimension. La différence est que d'abord, une boucle externe est nécessaire pour parcourir chaque tableau à une dimension. Le format général est le suivant :
for(inti=0;i<nom du tableau bidimensionnel.longueur;i++){for(intj=0;j<nom du tableau bidimensionnel[i].length;j++){System.out.print(nom du tableau bidimensionnel[i].length;j++){System.out.print(nom du tableau bidimensionnel[i].length;j++) nom du tableau[ i][j]);}System.out.println();}