Come abbiamo preannunciato, è possibile avere più di un valore associato ad una variabile, come una lista di valori; questo è possibile grazie agli Array. In questo articolo vedremo, quindi, come gestire gli Array in Java.
Col termine Array (anche detto vettore) viene indicato, nella programmazione, un gruppo di elementi che viene dichiarato inizialmente specificandone il numero. Un Array può assegnare e restituire il valore di ciascun elemento accedendovi mediante un indice creato automaticamente. Gli Array sono fondamentali nella gestione di collezioni di dati, e vengono ampiamente utilizzati in vari contesti, dall’elaborazione dei dati all’analisi algoritmica.
Un Array si distingue da una variabile normale per l’uso delle parentesi quadre [] ed è a tutti gli effetti un oggetto, quindi deve essere dichiarato all’interno dei nostri listati Java con la famosa parola chiave new. Nella dichiarazione possiamo assegnare il numero massimo di argomenti da contenere, utilizzando il tipo di dato seguito da un numero tra le parentesi quadre, come nell’esempio:
int x[] = new int[10];
In questo caso “x[]” potrà contenere al massimo 10 valori. Possiamo assegnare e visualizzare i valori corrispondenti utilizzando la forma sintattica seguente:
x[0] = 10;
x[1] = 20;
System.out.println(x[0]); // scrive a schermo 10
System.out.println(x[1]); // scrive a schermo 20
Esempio pratico con cicli for
Facciamo un esempio pratico utilizzando i cicli for mostrati nella lezione precedente:
class ProvaArray1
{
public static void main(String args[]) {
int x[] = new int[10];
for (int i=0; i<=9; i++) {
x[i] = i;
}
for (int i=0; i<=9; i++) {
System.out.println("x["+i+"] = "+x[i]);
}
// esempio di un Array di Stringhe
String stringa[] = {"primo","secondo","terzo"};
for (int i=0; i<=2; i++)
System.out.println("stringa["+i+"] = "+stringa[i]);
}
}
Nel primo ciclo for assegniamo ad ogni elemento dell’Array il rispettivo numero “i”. Nel secondo ciclo scriviamo su schermo il risultato. Il secondo Array è formato da elementi Stringa (oggetti istanziati dalla classe String) e possiamo osservare come sia possibile direttamente inserire i valori per ogni elemento stesso nella dichiarazione.
class ProvaArray2 {
public static void main(String args[]) {
float numero[] = {2.5f, 4.5f, 8.9f, 5.0f, 8.9f};
// notate la definizione di float con la f come
// ultimo carattere del valore
float somma = 0.0f;
for(int i=0; i<= 4; i++)
somma = somma + numero[i];
System.out.println("somma = " + somma);
}
}
In quest’ultimo esempio utilizziamo il ciclo for per sommare tutti i valori dell’Array di numeri float. Il risultato sarà:
somma = 29.8
Array Multidimensionali in Java
È anche possibile utilizzare Array multidimensionali in Java, ovvero con più di un indice. Per esempio, possiamo emulare una tabella grazie ad un Array bidimensionale, impostando le colonne e le righe. Facciamo un esempio:
class ProvaArray3 {
public static void main(String args[]) {
int x[][] = new int[2][2];
// assegnamo i valori a x[i][j]
for(int i=0; i<=1; i++) {
for(int j=0; j<=1; j++) {
x[i][j] = i+j;
}
}
for(int i=0; i<=1; i++) {
for(int j=0; j<=1; j++) {
System.out.println("x["+i+","+j+"] = "+x[i][j]);
}
}
// Proviamo anche con le Stringhe
String st[][]={{"riga 0 colonna 0","riga 0 colonna 1"},
{"riga 1 colonna 0","riga 1 colonna 1"}};
// scriviamo a schermo i valori
for(int i=0; i<=1; i++)
for(int j=0; j<=1; j++)
System.out.println("st["+i+","+j+"] = "+st[i][j]);
}
}
Naturalmente abbiamo voluto fare un esempio con solo un Array di due dimensioni, ma come avrete già intuito, è possibile sviluppare anche Array di tre o ulteriori dimensioni. L’uso di array multidimensionali è comune in applicazioni che richiedono la gestione di dati complessi, come matrici, grafici o tabelle.
In conclusione, gli Array in Java sono uno strumento potente e flessibile che permette di gestire collezioni di dati in modo sistematico. La loro comprensione è fondamentale per chiunque desideri approfondire la programmazione in Java e utilizzare al meglio le potenzialità offerte da questo linguaggio.