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.