Sobes.tech
Junior — Middle

Stream API dan foydalanishda Stream ning boshlanishi qachon yuzaga keladi?

sobes.tech AI

AIdan javob

Java'da Stream'in boshlanishi, terminal operatsiya chaqirilganda yuzaga keladi. Shu vaqtgacha, Stream ustida bajariladigan operatsiyalar kechiktirilgan (lazy) bo'lib, bajarilmaydi.

Ya'ni, siz Stream yaratib, oraliq operatsiyalarni (masalan, filter(), map()) qo'llaganingizda, ular faqat ishlov berish zanjirini shakllantiradi, ammo hisoblashlarni boshlamaydi.

Misol:

List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
    .filter(s -> s.startsWith("a"))
    .map(String::toUpperCase);
// Bu yerda hech narsa bo'lmaydi

List<String> result = stream.collect(Collectors.toList()); // Terminal operatsiya
// Bu yerda elementlar ishlov beriladi

Shunday qilib, Stream faqat terminal operatsiya chaqirilganda, masalan, collect(), forEach(), reduce() va boshqalar, boshlanadi va ma'lumotlarni ishlash boshlanadi.