Comment utiliser la logique if/else dans les flux Java 8

Comment utiliser la logique if / else dans les flux Java 8

1. Vue d'ensemble

Dans ce didacticiel, nous allons montrer comment implémenter la logique if / else avec Java 8Streams. Dans le cadre du didacticiel, nous allons créer un algorithme simple pour identifier les nombres pairs et impairs.

Nous pouvons jeter un oeil àthis article pour rattraper les bases de Java 8Stream.

2. Classiqueif/else Logique à l'intérieur deforEach()

Tout d'abord, créons unInteger List, puis utilisons la logique if / else conventionnelle dans la méthodeInteger streamforEach():

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 en utilisant l'opérateur de module Java.

3. if/else Logique avecfilter()

Deuxièmement, examinons une implémentation plus élégante utilisant la méthodeStream 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));

Ci-dessus, nous avons implémenté la logique if / else en utilisant la méthodeStream filter()to separate the Integer List into two Streams, one for even integers and another for odd integers.

4. Conclusion

Dans cet article rapide, nous avons exploré comment créer un Java 8Stream et comment implémenter la logique if / else à l'aide de la méthodeforEach().

De plus, nous avons appris à utiliser la méthodeStream filter pour obtenir un résultat similaire, de manière plus élégante.

Enfin, le code source complet utilisé dans ce tutoriel est disponibleover on Github.