Menu
Coddy logo textTech

Array irregolari

Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 6 di 59.

Un array irregolare è un tipo speciale di array 2D in cui ogni riga può avere un numero diverso di colonne. In altre parole, è un array di array e ogni array «interno» può avere una lunghezza diversa. È diverso da un normale array 2D, in cui tutte le righe hanno lo stesso numero di colonne, formando una forma rettangolare.

Gli array frastagliati sono utili quando devi memorizzare dati che non si adattano perfettamente a una griglia rettangolare. Per esempio, potresti usare un array frastagliato per memorizzare le parole di ogni frase di un paragrafo, dove ogni frase ha un numero diverso di parole.

Ecco come dichiari e inizializzi un array frastagliato in Java:

data_type[][] array_name = new data_type[number_of_rows][];

// Inizializza ogni riga con un numero diverso di colonne
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... e così via

Nota che quando dichiari per la prima volta l'array, specifichi solo il numero di righe. Poi inizializzi ogni riga separatamente, specificando il numero di colonne per quella riga.

challenge icon

Sfida

Facile

Crea un metodo chiamato createJaggedArray che accetti un intero n come input e restituisca un array frastagliato di interi. L’array frastagliato dovrebbe avere la seguente struttura:

  1. La prima riga dovrebbe avere 1 elemento.
  2. La seconda riga dovrebbe avere 2 elementi.
  3. La terza riga dovrebbe avere 3 elementi.
  4. E così via, fino alla riga n-esima, che dovrebbe avere n elementi.

Inizializza ogni elemento dell’array con il prodotto degli indici della riga e della colonna (a partire da 1). Per esempio, l’elemento nella seconda riga e nella prima colonna dovrebbe avere il valore 2 * 1 = 2.

Provalo tu

// Scrivi il tuo codice solo all'interno della classe. Non scrivere main() né alcun codice al di fuori di questa classe.
class CreateJaggedArray {
    public static int[][] createJaggedArray(int n) {
        // Scrivi il tuo codice qui
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Java online