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 8 Streams . Dans le cadre du didacticiel, nous allons créer un algorithme simple pour identifier les nombres pairs et impairs.

Nous pouvons jeter un œil à cet article pour découvrir les bases de Java 8 Stream .

2. Logique conventionnelle if / else dans forEach ()

Tout d' abord, nous allons créer une liste entier et utilisent alors la logique classique if / else dans le entier flux foreach () méthode:

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

Notre méthode forEach contient une logique if-else qui vérifie si l' Integer est un nombre pair ou impair à l'aide de l'opérateur de module Java.

3. logique if / else avec filtre ()

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

Au- dessus nous avons mis le si / logique autre en utilisant le filtre Stream () méthode pour séparer la liste entière en deux flux s, l' un pour les entiers même et un autre pour les entiers impairs.

4. Conclusion

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

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

Enfin, le code source complet utilisé dans ce tutoriel est disponible à l'adresse over sur Github.