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.