Anexo A. O loop for-each
List<Integer> array = Arrays.asList(1,2,3,4,5);
for(Integer i: array) {
extremelyComplexCalculation(i);
}
Anexo B. A API de fluxo
List<Integer> array = Arrays.asList(1,2,3,4,5);
array.stream().forEach((i) -> {
extremelyComplexCalculation(i);
});
Pode parecer que o Java 8 stream api
é um pouco prolixo do que o for-each
loop para coleções. E nos perguntamos que benefício pode advir disso.
A diferença entre for-each loop
e usando stream api ( collection.stream () ) em Java 8 é que podemos facilmente implementar paralelismo ao usar stream api com collection.parallelStream () . Considerando que, em for-each loop
você terá que lidar com tópicos por conta própria.
Anexo C. O fluxo paralelo
List<Integer> array = Arrays.asList(1,2,3,4,5);
array.parallelStream().forEach((i) -> {
extremelyComplexCalculation(i);
});