Sobes.tech
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.