Visualizzazione stampabile
-
Java e costrutto for
Ciao a tutti ,
scusate la domanda ma era un po che non programmavo in java ed ho notato , mentre debuggavo un app , un costrutto for del tipo :
codice:
for( parametro1: parametro2) {
......
.....
.....
}
non mi ricordo cosa significa , intuisco che serva a iterare finchè parametro1 non è verificato da parametro2 ... come ad esempio :
codice:
if(condizione) operazione1 : operazione2
scusate l'imprecisione ;)
-
Quote:
Originariamente inviato da
chenshin
Ciao a tutti ,
scusate la domanda ma era un po che non programmavo in java ed ho notato , mentre debuggavo un app , un costrutto for del tipo :
codice:
for( parametro1: parametro2) {
......
.....
.....
}
non mi ricordo cosa significa , intuisco che serva a iterare finchè parametro1 non è verificato da parametro2 ... come ad esempio :
codice:
if(condizione) operazione1 : operazione2
scusate l'imprecisione ;)
no, è un costrutto for each, e si utilizza spesso per iterare sulle liste. Il significato è che per ogni oggetto parametro1 contenuto in parametro2 (anche se parametro in questo caso non è proprio il termine piu azzeccato) esegui quello che c'è tra le parentesi.
Esempio banale, hai un'ArrayList di stringhe, e vuoi estrarre tutte le stringhe presenti. Se hai studiato java come si deve, sai che puoi accedere agli elementi di una lista in diversi modi:
-tramite un ciclo for classico sulla lista invocando il metodo get
-tramite un iteratore sulla lista
con il for each in molti casi ti risparmi righe di codice:
codice:
ArrayList<String> lista; //ipotesi lista già piena
for(String elem : lista) {
//do something
}
ovvero iteri tutta la lista, e ad ogni iterazione crei un oggetto elem contenente il valore dell'elemento corrente della lista. In termini di codice è equivalente a scrivere
[code]
for(int i=0; i < lista.size(); i++) {
String elem = lista.get(i);
}