Sobes.tech
Junior — Middle

Veri akışı, son işlemi başlatmadan çalışacak mı?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da veri akışı (stream), son bir işlem (terminal operation) çağrılmadan çalıştırılmaz. Java'daki akışlar tembel çalışır: Ara işlemler (örneğin, map, filter) sadece dönüşümleri tanımlar, ancak hemen çalıştırılmazlar.

Örnek:

Stream<Integer> stream = Stream.of(1, 2, 3, 4)
    .filter(x -> x % 2 == 0)
    .map(x -> x * x);
// Burada hiçbir şey olmaz, çünkü son işlem yok

List<Integer> result = stream.collect(Collectors.toList()); // Son işlem, hesaplamaları başlatır

Bir son işlem (collect, forEach, reduce vb.) çağrılmadan, akış işlenmez ve hesaplamalar gerçekleşmez.