Junior — Middle
Stream API istifadə edərkən Stream-in başlanğıcı hansı anlarda baş verir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da Stream-in başlanması, terminal əməliyyat çağırıldıqda baş verir. Bu vaxta qədər, Stream üzərindəki əməliyyatlar tənbəl (lazy) və icra edilmir.
Yəni, siz Stream yaradır və aralıq əməliyyatlar (məsələn, filter(), map()) tətbiq edirsinizsə, onlar yalnız emal zəncirini formalaşdırır, lakin hesablamaları başlatmır.
Nümunə:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream()
.filter(s -> s.startsWith("a"))
.map(String::toUpperCase);
// Burada heç bir şey baş vermir
List<String> result = stream.collect(Collectors.toList()); // Terminal əməliyyat
// Burada elementlərin emalı baş verir
Beləliklə, Stream yalnız terminal əməliyyat çağırıldıqda, məsələn, collect(), forEach(), reduce() və s., başlanır və məlumatların emalı başlayır.