Verwendung von if/else Logic in Java 8-Streams

Verwendung von if / else Logic in Java 8-Streams

1. Überblick

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

Wir können unsthis article ansehen, um die Grundlagen von Java 8Streamnachzuholen.

2. Konventionelleif/else Logik innerhalb vonforEach()

Lassen Sie uns zunächst einInteger List erstellen und dann die konventionelle if / else-Logik innerhalb derInteger-StreamforEach()-Methode 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);
        }
    });

Our forEach method contains if-else logic which verifies whether the Integer is an odd or even number mit dem Java-Modul-Operator.

3. if/else Logik mitfilter()

Zweitens betrachten wir eine elegantere Implementierung mit derStream 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 mit derStream filter()-Methodeto separate the Integer List into two Streams, one for even integers and another for odd integers. implementiert

4. Fazit

In diesem kurzen Artikel haben wir untersucht, wie Sie eine Java 8Stream erstellen und wie Sie die if / else-Logik mithilfe derforEach()-Methode implementieren.

Darüber hinaus haben wir gelernt, wie man dieStream filter-Methode verwendet, um auf elegantere Weise ein ähnliches Ergebnis zu erzielen.

Schließlich ist der vollständige Quellcode, der in diesem Lernprogramm verwendet wird,over on Github verfügbar.