Sobes.tech
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.