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.