English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Introduzione di Base Java

Controllo di flusso Java

Array Java

Java orientata agli oggetti (I)

Java orientata agli oggetti (II)

Java orientata agli oggetti (III)

Gestione delle Eccezioni Java

List Java

Queue Java (coda)

Map di Java

Set di Java

Input/Output (I/O) Java

Reader/Writer Java

Altri argomenti Java

Array Multidimensionale Java

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,

Array bidimensionale

 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.

Come inizializzare un array bidimensionale in Java?

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.

Inizializzazione di un array bidimensionale

Esempio: array bidimensionale

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.

Esempio: stampare tutti gli elementi di un array 2d utilizzando un ciclo

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.

Come inizializzare un array 3d in Java?

 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.

Esempio: array 3d

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