Accesso agli elementi degli array 2D
Fa parte della sezione Logica e flusso del percorso Java di Coddy. Lezione 2 di 59.
Accedere agli elementi in un array 2D è simile ad accedere agli elementi in un array 1D, ma invece di usare un solo indice, ne usi due: uno per la riga e uno per la colonna. Ricorda che gli indici in Java partono da 0, quindi la prima riga è all'indice 0, la seconda riga è all'indice 1 e così via. Allo stesso modo, la prima colonna è all'indice 0, la seconda colonna è all'indice 1 e così via.
Per accedere a un elemento, specifichi prima l'indice della riga e poi l'indice della colonna, usando la seguente sintassi:
arrayName[rowIndex][columnIndex]Ad esempio, per accedere all’elemento nella seconda riga (indice 1) e nella terza colonna (indice 2) di un array 2D chiamato matrix, scriveresti:
int element = matrix[1][2];Questo assegnerebbe alla variabile element il valore dell'elemento alla riga 1, colonna 2.
Ottenere le dimensioni di un array 2D:
Proprio come per gli array 1D, puoi usare .length per ottenere le dimensioni di un array 2D:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
int numRows = matrix.length; // Ottiene il numero di righe: 2
int numCols = matrix[0].length; // Ottiene il numero di colonne: 3matrix.lengthrestituisce il numero di righematrix[0].lengthrestituisce il numero di colonne nella prima riga
Verifica dei limiti:
Prima di accedere a un elemento, è buona pratica verificare che gli indici siano validi:
if (rowIndex >= 0 && rowIndex < matrix.length &&
colIndex >= 0 && colIndex < matrix[0].length) {
// È sicuro accedere a matrix[rowIndex][colIndex]
}Sfida
FacileCrea un metodo denominato getElement che accetta tre argomenti:
- Un array bidimensionale di interi denominato
matrix. - Un intero
rowIndexche rappresenta l'indice della riga. - Un intero
colIndexche rappresenta l'indice della colonna.
Il metodo dovrebbe restituire l'elemento nella riga e nella colonna specificate in matrix. Se rowIndex o colIndex è fuori dai limiti (cioè minore di 0 o maggiore o uguale al numero di righe o colonne), il metodo dovrebbe restituire -1.
Provalo tu
// Scrivi il tuo codice solo all'interno della classe. Non scrivere main() né alcun codice al di fuori di questa classe.
class GetElement {
public static int getElement(int[][] matrix, int rowIndex, int colIndex) {
// 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