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 № 1Dipende 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.