Junior — Middle
Маалымат агымы акыркы операцияны баштабай ишке ашырылабы?
sobes.tech AI
AIден жооп
Javaда маалымат агымы (stream) акыркы операцияны (terminal operation) чакырбастан ишке ашырылбайт. Javaда агымдар сараң: аралык операциялар (мисалы, map, filter) гана өзгөртүүлөрдү сүрөттөйт, бирок дароо ишке ашырылбайт.
Мисал:
Stream<Integer> stream = Stream.of(1, 2, 3, 4)
.filter(x -> x % 2 == 0)
.map(x -> x * x);
// Бул жерде эч нерсе болбойт, анткени акыркы операция жок
List<Integer> result = stream.collect(Collectors.toList()); // Акыркы операция, эсептөөлөрдү баштайт
Эгер акыркы операция (collect, forEach, reduce жана башка) чакырылбаса, агым иштетилбейт жана эсептөөлөр жүргүзүлбөйт.