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