Menu
Coddy logo textTech

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: 3
  • matrix.length restituisce il numero di righe
  • matrix[0].length restituisce 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]
}
challenge icon

Sfida

Facile

Crea un metodo denominato getElement che accetta tre argomenti:

  1. Un array bidimensionale di interi denominato matrix.
  2. Un intero rowIndex che rappresenta l'indice della riga.
  3. Un intero colIndex che 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
    }
}
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