HOWTO · Java

Inizializza array 2D in Java

Questo tutorial spiega come inizializzare un array 2D in Java

In questa pagina

In questo articolo impareremo come inizializzare un array 2D in Java. Un array 2D è un array di array unidimensionali. Gli elementi in un array 2D sono disposti in righe e colonne sotto forma di un array.

Inizializza array 2D in Java usando la new parola chiave e il cicli for

Nel codice riportato di seguito, abbiamo un array char - table che viene dichiarato utilizzando la parola chiave new. La matrice bidimensionale tabella ha 3 righe e 3 colonne.

Tutti gli elementi in un array hanno i loro valori predefiniti se non viene fornito alcun valore. Nel caso di un array bidimensionale di tipo int, il valore predefinito, 0, è assegnato a ciascun elemento. Poiché abbiamo un array bidimensionale di tipo char, il valore predefinito sarà nullo - \0.

Per iterare attraverso ogni elemento di un array bidimensionale, dobbiamo usare cicli for annidati. Possiamo visualizzare table come 3 array individuali di lunghezza 3. L’espressione table[row].length denota il numero di colonne, che in questo caso è 3.

L’espressione '1' + row * 3 + col dove si varia riga e colonna tra 0 e 2 ci dà un carattere da 1 a 9. Questo metodo funziona solo per questo caso in cui la lunghezza di riga e colonna è 3.

Successivamente, stampiamo i valori dell’array bidimensionale in forma di matrice, come mostrato nel codice sottostante.

public class Array {
  public static void main(String[] args) {
    char[][] table = new char[3][3];
    for (int row = 0; row < table.length; row++) {
      for (int col = 0; col < table[row].length; col++) {
        table[row][col] = (char) ('1' + row * 3 + col);
      }
    }

    for (int row1 = 0; row1 < table.length; row1++) {
      for (int col1 = 0; col1 < table[row1].length; col1++)
        System.out.print(table[row1][col1] + " ");
      System.out.println();
    }
  }
}

Produzione:

1 2 3 
4 5 6 
7 8 9 

Inizializza array 2D in Java senza utilizzare l’inizializzatore

Il modo più comune per dichiarare e inizializzare un array bidimensionale in Java è utilizzare una sintassi di scelta rapida con un inizializzatore di array. Qui utilizzando {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, racchiudiamo l’lista di inizializzazione di ciascuna riga nel proprio insieme di parentesi graffe.

L’espressione sopra descrive che abbiamo un array bidimensionale con 3 righe e 3 colonne. In questo modo, abbiamo dichiarato e inizializzato un array bidimensionale in una singola riga di codice. L’array bidimensionale viene quindi stampato utilizzando un cicli for annidato, come mostrato di seguito.

public class Array {
  public static void main(String[] args) {
    int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    for (int row = 0; row < 3; row++) {
      for (int col = 0; col < 3; col++) System.out.print(arr[row][col] + " ");
      System.out.println();
    }
  }
}

Produzione:

1 2 3 
4 5 6 
7 8 9