Come utilizzare if / else Logic in Java 8 Streams

1. Panoramica

In questo tutorial, dimostreremo come implementare la logica if / else con Java 8 Streams . Come parte del tutorial, creeremo un semplice algoritmo per identificare i numeri pari e dispari.

Possiamo dare un'occhiata a questo articolo per recuperare le nozioni di base su Java 8 Stream .

2. Logica if / else convenzionale Within forEach ()

Prima di tutto, creiamo un elenco di numeri interi e quindi utilizziamo la logica if / else convenzionale all'interno del metodo Integer stream forEach () :

List ints = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); ints.stream() .forEach(i -> { if (i.intValue() % 2 == 0) { Assert.assertTrue(i.intValue() % 2 == 0); } else { Assert.assertTrue(i.intValue() % 2 != 0); } });

Il nostro metodo forEach contiene la logica if-else che verifica se l' Integer è un numero pari o dispari utilizzando l'operatore modulo Java.

3. if / else Logica con filtro ()

In secondo luogo, diamo un'occhiata a un'implementazione più elegante utilizzando il metodo Stream filter () :

Stream evenIntegers = ints.stream() .filter(i -> i.intValue() % 2 == 0); Stream oddIntegers = ints.stream() .filter(i -> i.intValue() % 2 != 0); evenIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 == 0)); oddIntegers.forEach(i -> Assert.assertTrue(i.intValue() % 2 != 0));

Sopra abbiamo implementato la logica if / else utilizzando il metodo Stream filter () per separare l' elenco Integer in due Stream , uno per interi pari e un altro per interi dispari.

4. Conclusione

In questo rapido articolo, abbiamo esplorato come creare un Java 8 Stream e come implementare la logica if / else utilizzando il metodo forEach () .

Inoltre, abbiamo imparato a utilizzare il metodo del filtro Stream per ottenere un risultato simile, in modo più elegante.

Infine, il codice sorgente completo utilizzato in questo tutorial è disponibile su Github.