Junior — Middle
Vai datu plūsma tiks bez galīgās darbības uzsākšanas?
sobes.tech AI
Atbilde no AI
Java valodā datu plūsma (stream) netiks izpildīta bez galīgās operācijas (terminal operation) izsaukšanas. Java plūsmas ir slinkas: starpposma operācijas (piemēram, map, filter) tikai apraksta pārveidojumus, bet nekavējoties netiek izpildītas.
Piemērs:
Stream<Integer> stream = Stream.of(1, 2, 3, 4)
.filter(x -> x % 2 == 0)
.map(x -> x * x);
// Šeit nekas nenotiek, jo nav galīgās operācijas
List<Integer> result = stream.collect(Collectors.toList()); // Galīgā operācija, sāk skaitļošanu
Bez galīgās operācijas (collect, forEach, reduce utt.) plūsma netiks apstrādāta un skaitļošana nenotiks.