Sobes.tech
Junior — Middle

Kedy sa spúšťa spracovanie toku s kolekciou?

sobes.tech AI

Odpoveď od AI

Spracovanie streamu v Jave sa vykonáva v momente volania terminálnej operácie. Do tej doby sú všetky medzioperačné operácie (map, filter, sorted atď.) lenivé a nevykonávajú sa.

Napríklad:

List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
    .filter(s -> s.startsWith("a"))
    .map(String::toUpperCase);

// Tu stream ešte nie je spustený

List<String> result = stream.collect(Collectors.toList()); // Terminálna operácia — spúšťa spracovanie

Takže spracovanie streamu začína pri volaní terminálnej operácie ako collect(), forEach(), reduce(), count() a podobne.