English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo a utilizzare gli array multidimensionali Java con esempi di array bidimensionali e tridimensionali.
Prima di studiare gli array multidimensionali, assicurati di comprendereArray Java.
Un array multidimensionale è un array di array. Ogni elemento di un array multidimensionale è un array stesso. Ad esempio,
int[][] a = new int[3][4];
In questo caso, abbiamo creato un array multidimensionale chiamato a. È un array bidimensionale che può contenere fino a 12 elementi,
Ricorda, Java utilizza un'indicizzazione basata su zero, il che significa che l'indicizzazione degli array in Java parte da 0, non da 1.
Lasciamo perdere un altro esempio di array multidimensionale. Questa volta creeremo un array di 3 dimensioni. Ad esempio,
String[][][] data = new String[3][4][2];
Qui, data è un array 3d che può contenere fino a 24 (3*4*2) elementi di tipo String.
Ecco come inizializzare un array bidimensionale in Java.
int[][] a = { {1, 2, 3}, {4, 5, 6, 9}, {7}, };
Come visto, ogni elemento di un array multidimensionale è un array stesso. E, a differenza di C / C++, in Java ogni riga di un array multidimensionale può avere una lunghezza diversa.
class MultidimensionalArray { public static void main(String[] args) { //Creare un array bidimensionale int[][] a = { {1, 2, 3}, {4, 5, 6, 9}, {7}, }; //Calcolare la lunghezza di ogni riga System.out.println("Lunghezza della prima riga: " + a[0].length); System.out.println("Lunghezza della seconda riga: " + a[1].length); System.out.println("Lunghezza della terza riga: " + a[2].length); } }
Output:
Lunghezza della prima riga: 3 Lunghezza della seconda riga: 4 Lunghezza della terza riga: 1
Nell'esempio sopra, abbiamo creato un array multidimensionale chiamato a, poiché ogni componente di un array multidimensionale è anche un array (a[0], [1] e a[2] sono anche array).
Qui, utilizziamo l'attributo length per calcolare la lunghezza di ogni riga.
class MultidimensionalArray { public static void main(String[] args) { int[][] a = { {1, -2, 3}, {-4, -5, 6, 9}, {7}, }; for(int i = 0; i < a.length; ++i) { for(int j = 0; j < a[i].length; ++j) { System.out.println(a[i][j]); } } } }
Output:
1 -2 3 -4 -5 6 9 7
Possiamo anche utilizzarefor ... each cycleper accedere agli elementi di un array multidimensionale. Ad esempio,
class MultidimensionalArray { public static void main(String[] args) { //Creare un array bidimensionale int[][] a = { {1, -2, 3}, {-4, -5, 6, 9}, {7}, }; //Prima il ciclo for...each per accedere a un singolo array //All'interno di un array bidimensionale for(int[] innerArray: a) { //Secondo ciclo for...each per accedere a ciascun elemento all'interno dell'array for(int data: innerArray) { System.out.println(data); } } } }
Output:
1 -2 3 -4 -5 6 9 7
Nell'esempio sopra, abbiamo creato un array bidimensionale chiamato a e poi abbiamo acceduto a ciascun elemento dell'array utilizzando un ciclo for e un ciclo for...each.
Vediamo come utilizzare gli array 3d in Java. Possiamo inizializzare un array 3d simile a un array 2d. Ad esempio,
//test è un array 3d int[][][] test = { { {1, -2, 3}, {2, 3, 4} } { {-4, -5, 6, 9}, {1}, {2, 3} } };
In pratica, l'array 3d è un array di array 2d. Le righe dell'array 3d possono variare in lunghezza come gli array 2d.
class ThreeArray { public static void main(String[] args) { //Creazione di un array 3d int[][][] test = { { {1, -2, 3}, {2, 3, 4} } { {-4, -5, 6, 9}, {1}, {2, 3} } }; //Iterazione del ciclo for..each sugli elementi dell'array 3d for(int[][] array2D: test) { for(int[] array1D: array2D) { for(int item: array1D) { System.out.println(item); } } } } }
Output:
1 -2 3 2 3 4 -4 -5 6 9 1 2 3