Junior — Middle
Kada se pokreće tok obrade sa kolekcijom?
sobes.tech АИ
Одговор од АИ
Izvršavanje stream obrade u Javi dešava se u trenutku poziva terminalne operacije. Do tada, sve međuprolazne operacije (map, filter, sorted itd.) su lenje i ne izvršavaju se.
Na primer:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
.filter(s -> s.startsWith("a"))
.map(String::toUpperCase);
// Ovde stream još nije pokrenut
List<String> result = stream.collect(Collectors.toList()); // Terminalna operacija — pokreće obradu
Dakle, stream obrada počinje kada se pozove terminalna operacija kao što su collect(), forEach(), reduce(), count() i slično.