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.