back to top

Il costrutto foreach in java

Il foreach è un particolare costrutto (disponibile a partire da Java 5) che ci permette di iterare velocemente una struttura dati. In java possiamo usarlo sia su un array oppure su oggetti di tipo Iterable,cioè che dispongono di un iteratore (java.util.Iterator).

Le Collections di java (Linkedlist, ArrayList, etc.) sono tutti oggetti di tipo Iterable. Vediamo il costrutto generico:

Pubblicità
for(type_var: arr) {
  //ciclo
}

Supponiamo di creare un metodo che calcoli la somma di tutti gli elementi:

public static int somma(int [] array) {
  int somma = 0;
  for(int i = 0; i < array.length; i++) {
    somma += array[i];
  }
  return somma;
}

Allo stesso modo con il costrutto foreach rende tutto puù chiaro e sintetico:

public static int somma(int [] array) {
  int somma = 0;
  for(int element:array)
    somma+=element;
  return somma;
}

L’ intero element sarà il nostro i-esimo elemento corrispondente al for visto sopra. Adesso vediamo un esempio per quanto riguarda gli oggetti Iterable. In questo caso il codice risulterà ancora più sintetico. Ad esempio se vogliamo iterare una LinkedList, abitualemente agiamo in questo modo:

LinkedList <String> lista = new LinkedList<String>();
lista.add("a");
lista.add("b");
....

Iterator <String> it = lista.iterator();
while(it.hasNext()) {
  String str = it.next();
  ...
}

Mentre il costrutto foreach semplifica i riferimenti a livello di compilazione:

for(String str:lista) {
  ....
}

In questo caso str assumerà sequenzialmente il valore di ciascun elemento della lista.

Altri contenuti interessanti

Pubblicità

Leggi anche...

Vibe Coding: cos’è, come funziona e quali sono i migliori strumenti AI per programmare

Immagina di poter scrivere software senza dover digitare una...

I migliori libri per imparare a programmare in Python

Imparare a programmare in Python è un passo fondamentale...

Il file manifest.json: cos’è e a cosa serve

Il file manifest.json è un componente chiave nelle applicazioni web moderne,...

Java: cos’è e a cosa serve l’operatore modulo (%)

In Java, l'operatore modulo è rappresentato dal simbolo "%"...

Radice quadrata in C: vediamo come calcolarla in diversi modi

La radice quadrata è un'operazione matematica piuttosto comune (in...

Sperimentare la sequenza di Collatz in C++

Vediamo come verificare la congettura di Collatz con C++....
Pubblicità