Junior — Middle
Kada se dešava inicijalizacija Stream prilikom korišćenja Stream API?
sobes.tech АИ
Одговор од АИ
Inicijalizacija Stream u Javi dešava se u trenutku kada se pozove terminalna operacija. Do tog trenutka, operacije nad Stream-om su lenje (lazy) i ne izvršavaju se.
To znači, kada kreirate Stream i primenjujete međuprolazne operacije (npr. filter(), map()), one samo formiraju lanac obrade, ali ne pokreću izračunavanja.
Primer:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
.filter(s -> s.startsWith("a"))
.map(String::toUpperCase);
// Ovde se ništa ne dešava
List<String> result = stream.collect(Collectors.toList()); // Terminalna operacija
// Ovde se vrši obrada elemenata
Dakle, Stream se inicijalizuje i počinje da obrađuje podatke tek kada se pozove terminalna operacija, kao što su collect(), forEach(), reduce() i druge.