/ / Java: invoca un metodo su tutti i valori di un array senza un ciclo for - java, array

Java: invoca un metodo su tutti i valori di un array senza un ciclo for - java, array

Esiste un modo completo per invocare un metodo su ogni valore in un array senza dover creare un ciclo for? Sembra che sarebbe banale, ma non riesco a trovare nulla.

Per esempio:

class Foo{
public static void main(String[] args){

String[] arr = {"1","2","3"};
int[] intarr = new int[arr.length];

for(int i = 0; i < arr.length; i++){
intarr[i] = Integer.parseInt(arr[i]);
}
}
}

c'è un modo per farlo senza un ciclo for?

risposte:

4 per risposta № 1

Dipende dalla tua versione di Java:

Pre Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
Iterator<String> itr = lis.iterator();
while(itr.hasNext()) {
String next = itr.next();
//work with next
}

Per Java 8:

List<String> lis = new ArrayList<>(Arrays.asList(arr));
lis.stream().forEach((s) -> {
//work with s
});

Entrambe sono sciocche e inutili considerando che puoi facilmente fare semplicemente ciò che hai descritto nell'OP. for i loop sono parte integrante dei concetti di programmazione, non puoi davvero evitarli.