Verwendung von if / else Logic in Java 8-Streams

1. Übersicht

In diesem Tutorial zeigen wir, wie die if / else-Logik mit Java 8- Streams implementiert wird . Als Teil des Tutorials erstellen wir einen einfachen Algorithmus zum Identifizieren von ungeraden und geraden Zahlen.

In diesem Artikel erfahren Sie mehr über die Grundlagen von Java 8 Stream .

2. Konventionelle if / else- Logik in forEach ()

Lassen Sie uns zunächst eine Ganzzahlliste erstellen und dann die herkömmliche if / else-Logik innerhalb des Integer- Streams forEach () verwenden:

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); } });

Unsere forEach- Methode enthält eine if-else-Logik, die mithilfe des Java-Moduloperators überprüft, ob die Ganzzahl eine ungerade oder eine gerade Zahl ist .

3. if / else Logik mit Filter ()

Zweitens betrachten wir eine elegantere Implementierung mit der Stream filter () -Methode:

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));

Oben haben wir die if / else-Logik mithilfe der Stream filter () -Methode implementiert , um die Integer-Liste in zwei Streams zu trennen , einen für gerade Ganzzahlen und einen für ungerade Ganzzahlen.

4. Fazit

In diesem kurzen Artikel haben wir untersucht, wie ein Java 8- Stream erstellt und die if / else-Logik mithilfe der forEach () -Methode implementiert wird.

Darüber hinaus haben wir gelernt, wie Sie mit der Stream-Filtermethode auf elegantere Weise ein ähnliches Ergebnis erzielen.

Schließlich ist der vollständige Quellcode, der in diesem Tutorial verwendet wird, auf Github verfügbar.