List<String> names = ...
names.stream().map(String::toUpperCase).forEach(System.out::println);
Bez splnění aspoň jedné následující charakteristiky nemají proudy zásadnější smysl:
Proudy nelze prakticky příliš využít bez současného zvládnutí funkcionálních prvků v Java 8:
Reálně bude ještě delší dobu trvat, než se začnou masověji objevovat v kódu:
Nejčastěji a nejjednodušeji z prvků pole nebo kolekce, tzn. např.
Dále lze proud použít pro řetězení operací nad jeho prvky:
List<String> names = ...
names.stream().map(String::toUpperCase).forEach(System.out::println);
Zhruba odpovídá sekvenční iteraci:
List<String> names = ...
for(String name: names) {
System.out.println(name.toUpperCase());
}
List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
integerList.parallelStream().forEach(i -> System.out.print(i + " "));
nebo s více stupni řetězení
List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
integerList
.parallelStream()
.filter(i -> isOdd(i))
.forEach(i -> System.out.print(i + " "));
/