Hvordan bruke hvis / annet Logikk i Java 8 Streams

1. Oversikt

I denne opplæringen skal vi demonstrere hvordan du implementerer hvis / annet-logikk med Java 8 Strømmer. Som en del av opplæringen lager vi en enkel algoritme for å identifisere oddetall og partall.

Vi kan ta en titt på denne artikkelen for å fange opp Java 8 Strøm grunnleggende.

2. Konvensjonell hvis / annet Logikk innenfor for hver()

La oss først lage en Heltalliste og bruk deretter konvensjonell if / else-logikk i Heltall strøm for hver() metode:

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

Våre for hver metoden inneholder if-else-logikk som verifiserer om Heltall er et oddetall eller et partall ved hjelp av Java-modulusoperatøren.

3. hvis / annet Logikk med filter()

For det andre, la oss se på en mer elegant implementering ved hjelp av Strømfilter () metode:

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

Ovenfor implementerte vi if / else-logikken ved hjelp av Strømfilter () metode å skille Heltalliste i to Strøms, en for jevne heltall og en annen for odde heltall.

4. Konklusjon

I denne raske artikkelen har vi undersøkt hvordan du oppretter en Java 8 Strøm og hvordan implementere hvis / annet logikk ved hjelp av for hver() metode.

Videre lærte vi hvordan vi bruker Strømfilter metode for å oppnå et lignende resultat, på en mer elegant måte.

Til slutt er den komplette kildekoden som brukes i denne opplæringen, tilgjengelig på Github.


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