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.


$config[zx-auto] not found$config[zx-overlay] not found