Sobes.tech
Junior — Middle

Il metodo forEach in Java è un punto finale o una fase intermedia nell'elaborazione dei flussi?

sobes.tech AI

Risposta dell'AI

In Java, il metodo forEach per i flussi (Stream.forEach) è un'operazione terminale, cioè il punto finale dell'elaborazione del flusso. Dopo aver chiamato forEach, il flusso è considerato consumato e non è possibile eseguire ulteriori operazioni su di esso.

Esempio:

Stream.of(1, 2, 3)
      .filter(n -> n > 1)  // operazione intermedia
      .forEach(System.out::println);  // operazione terminale

Qui, filter è un'operazione intermedia, e forEach è l'operazione terminale, che avvia l'esecuzione di tutto il pipeline e stampa gli elementi.