Junior — Middle
Stream API-da yakuniy operatsiya chaqirilmasa, qanday xulq ko'rsatiladi?
sobes.tech AI
AIdan javob
Java Stream API'da operatsiyalar o'rta va yakuniy bo'laklarga bo'linadi. O'rta operatsiyalar (masalan, filter, map) kechiktirilgan va yakuniy operatsiya (masalan, collect, forEach) chaqirilmaguncha bajarilmaydi.
Agar yakuniy operatsiya chaqirilmasa, oqim ishlov berilmaydi va hech qanday hisoblashlar amalga oshmaydi. Bu shuni anglatadiki, o'rta operatsiyalar zanjiri faqat oqimning tavsifini yaratadi, lekin uni bajarishmaydi.
Misol:
Stream.of(1, 2, 3, 4)
.filter(n -> n % 2 == 0)
.map(n -> n * 2);
// Hech qanday element ishlov berilmaydi, chunki yakuniy operatsiya yo'q
Ishlov berishni boshlash uchun, yakuniy operatsiya chaqirilishi kerak:
List<Integer> result = Stream.of(1, 2, 3, 4)
.filter(n -> n % 2 == 0)
.map(n -> n * 2)
.collect(Collectors.toList());
Yakuniy operatsiya bo'lmasa, oqim bajarilmaydi.