Kako koristiti if / else logiku u Java 8 Streams
1. Pregled
U ovom uputstvu pokazat ćemo kako implementirati logiku if / else s Javom 8 Potoci. Kao dio tutorijala stvorit ćemo jednostavan algoritam za prepoznavanje neparnih i parnih brojeva.
Možemo pogledati ovaj članak da bismo sustigli Java 8 Stream osnove.
2. Konvencionalni ako / inače Logika iznutra za svakoga()
Prije svega, stvorimo Popis cijelih brojeva a zatim upotrijebite uobičajenu if / else logiku unutar Cijeli broj potok za svakoga() metoda:
Popis intova = 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);}});
Naše za svakoga metoda sadrži if-else logiku koja provjerava je li Cijeli broj je neparan ili paran broj pomoću operatora Java modula.
3. ako / inače Logika sa filtar()
Drugo, pogledajmo elegantniju implementaciju pomoću Filtar streama () metoda:
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));
Iznad smo implementirali logiku if / else koristeći Filtar streama () metoda odvojiti Popis cijelih brojeva na dvoje Streams, jedan za parne i cijele brojeve.
4. Zaključak
U ovom kratkom članku istražili smo kako stvoriti Javu 8 Stream i kako implementirati if / else logiku pomoću za svakoga() metoda.
Nadalje, naučili smo kako koristiti Filtar streama metoda za postizanje sličnog rezultata, na elegantniji način.
Napokon, kompletan izvorni kod korišten u ovom vodiču dostupan je na Githubu.