Junior — Middle
Milline käitumine ilmneb Stream API-s, kui lõppoperatsiooni väljakutset ei toimu?
sobes.tech AI
Vastus AI-lt
Java Stream API-s jagā operācijas starpākos un galīgajos posmos. Starpposma operācijas (piemēram, filter, map) ir vilcināmas un netiek izpildītas, kamēr netiek izsaukta galīgā operācija (piemēram, collect, forEach).
Ja netiek izsaukta galīgā operācija, plūsma netiks apstrādāta un nenotiks nekādi aprēķini. Tas nozīmē, ka starpposma operāciju ķēde vienkārši izveidos plūsmas aprakstu, bet to neizpildīs.
Piemērs:
Stream.of(1, 2, 3, 4)
.filter(n -> n % 2 == 0)
.map(n -> n * 2);
// Nekas elements netiks apstrādāts, jo nav galīgās operācijas
Lai sāktu apstrādi, ir jāizsauc galīgā operācija:
List<Integer> result = Stream.of(1, 2, 3, 4)
.filter(n -> n % 2 == 0)
.map(n -> n * 2)
.collect(Collectors.toList());
Bez galīgās operācijas plūsma netiks izpildīta.