Junior — Middle
Ma'lumot oqimi yakuniy operatsiyani boshlamasdan ishlaydimi?
sobes.tech AI
AIdan javob
Java'da ma'lumot oqimi (stream) yakuniy operatsiya (terminal operation) chaqirilmasdan bajarilmaydi. Java'dagi oqimlar kechiktirilgan — oraliq operatsiyalar (masalan, map, filter) faqat o'zgartirishlarni tasvirlaydi, ammo darhol bajarilmaydi.
Misol:
Stream<Integer> stream = Stream.of(1, 2, 3, 4)
.filter(x -> x % 2 == 0)
.map(x -> x * x);
// Bu yerda hech narsa bo'lmaydi, chunki yakuniy operatsiya yo'q
List<Integer> result = stream.collect(Collectors.toList()); // Yakuniy operatsiya, hisoblashlarni boshlaydi
Yakuniy operatsiya (collect, forEach, reduce va boshqalar) chaqirilmasdan, oqim ishlov berilmaydi va hisoblashlar amalga oshmaydi.