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ì viaNota 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.
Sfida
FacileCrea 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:
- La prima riga dovrebbe avere 1 elemento.
- La seconda riga dovrebbe avere 2 elementi.
- La terza riga dovrebbe avere 3 elementi.
- E così via, fino alla riga n-esima, che dovrebbe avere
nelementi.
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
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Array multidimensionali
Concetti di base degli array 2DAccesso agli elementi degli array 2DCicli annidati con array 2DRiepilogo - Array 2DAddizione e sottrazione di matriciArray irregolariArray 3D e oltreSchemi comuni degli array 2DRiepilogo - Tutto sugli array4HashSet Parte 1
Che cos'è un HashSet?Aggiungere un elementoRimuovere un elementoVerificare se un elemento esisteVuoto e dimensioneSvuotare e clonareRipasso - HashSet7Gestione di base degli errori
Nozioni di base su try-catchBlocco finallyLancio di eccezioniEccezioni personalizzate2HashMap Parte 1
Che cos'è una HashMap?Dichiarare una HashMapAccedere ai valoriVerificare se una chiave esisteModificare i dizionariRiepilogo - HashMap3HashMap Parte 2
Metodi di HashMapIterare con keySet()Iterare con entrySet()HashMap annidateRiepilogo - Gestire il magazzinoRiepilogo - Operazioni con HashMap6Flusso di controllo avanzato
Istruzioni con etichettaEspressione switchCorrispondenza dei patternClausole guardiaRiepilogo - Flusso di controllo9Progetto - Contatore di parole uniche
Inserimento e memorizzazione del testoElaborazione delle paroleEsercitati da solo: Compilatore Java online