Eksempel 1:
Strømmen reduserer () -metodefunksjonaliteten kan enkelt demonstreres med Java -programmet. Følgende er implementering av reduksjonsoperasjonen ved bruk av strømmen reduserer () -metoden for å få den lengre strengen.
Importer Java.util.*;Vi har gitt et listegrensesnitt der vi erklærer "strname" -objektet først og deretter ringer matriser.ASList () -metode. Matriser.ASList () Metode legger inn strengelementet i form av listen. Deretter gir vi det "valgfrie" klassegrensesnittet fordi resultatene av listen kan inneholde nullverdiene. Vi definerer “NewsTr” -objektet der reduksjonsmetoden () er distribuert etter strømmen () -klassen på “Strnames”. Lambda -uttrykket er gitt til reduseringsmetoden () som legger inn de to strengverdiene for å oppnå den lengre strengen. På grunn av muligheten for at listen som redusering () kjøres kan være tom, er reduseringsmetoden () metodeutgangen valgfritt. Etter dette bruker vi utskriftsfunksjonen for å skrive ut resultatet av redusere () -metoden.
Den lengste strengen etter reduksjonsoperasjonen fra strømmen reduserer () -operasjonen blir hentet inne i utgangen.
Eksempel 2:
Strømmen reduserer () -metoden kan også brukes sammen med Java -akkumulatoren. Følgende kildeprogram bruker redusere () -metoden med akkumulatoren for å oppsummere elementene og finne sitt gjennomsnitt.
Importer Java.util.Matriser;Vi genererer listen over numeriske verdier fra array class ASList () -metoden. Listen initialiseres i "tallarray" -variabelen i listeklassen. Deretter definerer vi en annen variabel som er "AVG" for å evaluere gjennomsnittet av den medfølgende listen. Vi påkaller strømmen reduserer () metoden i "AVG" -variabelen og setter lambda -uttrykket som en akkumulator innenfor reduksjonsmetoden (). Reduser () -metoden tar "summen" og "curvalue" som inngang. Heltallstrømmenes elementer er alle lagret av denne akkumulatoren. Etter å ha fått summen av strømlisteelementene, oppnår vi gjennomsnittet ved å dele summen av elementet med lengden på størrelsen på heltalllisten.
Gjennomsnittet av den gitte listen over elementer oppnås ved bruk av Reduce () -metoden med akkumulatoren.
Eksempel 3:
Strømmen reduserer () -metoden har en annen innpakningsklasse der min og maks er en av dem. Følgende implementering av programmet tar sikte på å oppnå maksimale verdier fra den gitte samlingen av elementer.
Importer Java.util.ArrayList;Vi konstruerer GetMaxValue -funksjonen i Java -klassen. GetMaxValue () -funksjonen er utstyrt med "TwoDigits" -parameterobjektet. Deretter bruker vi returnøkkelordet i getMaxValue () -funksjonen. Vi kaller redusere () -metoden med returnøkkelordet. Reduser () -metoden tildeles en metodereferanse, Heltall :: maks.
Etter dette bruker vi get () -metoden etter reduksjon () metodeoperasjon for å få de forventede resultatene. Deretter har vi en Main () -metode der "TwoDigit" -objektet initialiseres med listen over heltallelementene. Vi kaller også getMaxValue () -funksjonen i utskriftslinjen til Java og passerer "TwoDigit" -objektet for å generere maksimal verdi for heltalllisten.
Fra redusering () -metodens forhåndsdefinerte maksimale drift oppnår vi maksimal verdi fra listen over noen heltallverdier.
Eksempel 4:
Det er et annet program for reduksjonsoperasjonen der alle tallene i et bestemt område multipliseres for å få sine produkter ved å bruke Reduct () -metoden.
Importer Java.util.*;Vi oppretter "numProduct" -variabelen som er satt med IntStream Class Range () -metoden. Områdeverdiene tilordnes denne området () -metoden. Vi bruker også Reduce () -metoden etter å ha spesifisert Range () -metoden. Reduser () -metoden er definert med uttrykket for å beregne produktet av “N1” og “N2” innenfor området i det gitte bortsett fra det høyre elementet. Println () -metoden brukes deretter til å skrive ut produktet fra inngangsområdet.
Produktet av alle rekkeviddeelementene oppnås ved hjelp av reduksjonsteknikken.
Eksempel 5:
Reduser () -metoden tar en "Combiner" -parameter som brukes til å kombinere to verdier. Det må jobbe med akkumulatorens funksjon. Bare de parallelle strømmer kan kombineres effektivt når kombinatorparameteren kombinerer utgangen til alle understrømmer for parallelle strømmer.
Importer Java.util.*;Vi har en erklæring om streng -array -objektet, "ArrValues", og vi initialiserer det med de tre strengelementene. Deretter lager vi det valgfrie "Combinestring" -klassen for å kombinere de forrige strengelementene. "Combinestring" -objektet tildeles en strøm () -metode som oppretter strømmen av den gitte strenggruppen. Deretter bruker vi reduseringsmetoden () på strømmen av strenggruppen. Reduser () -metoden kombinerer deretter “S1” og “S2” strengene med hasjkarakteren “-” siden uttrykket er satt der. Etter det viser vi de kombinerte strengresultatene ved å bruke IF -tilstanden som validerer om den kombinerte strengen er til stede eller ikke.
Streng-arrayelementene er nå kombinert med kombinasjonen “-” som reduserer () metoden som en parameter.
Eksempel 6:
Nå er redusere () -metoden og kartet begge distribuert i et objekt for å få summen av de store Decimal Values.
Importer Java.matte.Bigdecimal;Vi definerer listegrensesnittet for "Bill" -klassen der "Billlist" -objektet er erklært. "Billlist" er ytterligere satt med ASList () -metoden der vi initialiserer de store Decimal -verdiene for feltet "Bill" -klassen ved hjelp av det nye nøkkelordet. ValueOf () -metoden er distribuert for å sette inn verdiene mot hver attributt til "Bill" -klassen. Etter det oppretter vi BigDecimal -objektet, “Total”, der Stream () -metoden brukes til å lage strømmen av “Billlist” -elementene.
Deretter blir strømelementene kartlagt via MAP () -metoden der Multiply () -metoden er spesifisert for å få produktet fra getAmount () getter -metoden i "Bill" -klassen. Reduseringsmetoden () er distribuert på de kartlagte resultatene der den identifiserte verdien for BigDecimal er null og akkumulatoren er satt ved å gi BigDecimal :: Legg til metodereferanse. Resultatene fra det "totale" objektet vises der kartoperasjonen og reduksjonsdriften utføres. Til slutt konstruerer vi "Bill" -pakningsklassen der strengen Billno, Billamount og Billdiscount Attributtene er erklært.
Det forrige programmet sender ut følgende verdi som summen av regningene:
Konklusjon
Reduser () -metoden gjør at vi kan skape et enkelt utfall fra en serie elementer ved kontinuerlig å bruke reduksjonsoperasjonen på varene i serien. Vi brukte Java -strømmen.Reduser () Metode i eksempelprogrammene til denne artikkelen som reduserer strømelementene. Imidlertid strømmen.redusere () -metoden er ikke effektiv for mutable reduksjonsoperasjoner, så det kan være utfordrende å bruke den med store bekker.