Alt du trenger å vite om Stream i Java



Denne artikkelen vil introdusere deg for Stream i Java en pakke som nylig ble introdusert i Java, og du vil få en detaljert forklaring på hva den kan gjøre.

En ny tilleggspakke i Java 8, kjent som java.util.stream er lagt til for brukerne for en effektiv programmeringsopplevelse. En strøm kan defineres som en sekvens av objekter, som støtter flere metoder. I denne artikkelen vil vi utforske Stream in

Følgende tips vil bli dekket i denne artikkelen,





Før vi begynner med denne artikkelen om Stream In Java, la oss ta en titt på noen viktige funksjoner,

Stream i Java: Funksjoner

  • En strøm er ikke en datastruktur og lagrer ikke elementer. Samlinger, arrays eller I / O-kanaler er der det tar innspillene fra.
  • Kilden til strømmen forblir uendret etter at operasjoner er utført på den. For eksempel produserer filtrering av en strøm ganske enkelt en ny strøm uten de filtrerte elementene, i stedet for å endre den opprinnelige strømmen.
  • Aggregeringsoperasjoner som filter, redusere, matche, finne osv. Støttes av strøm.
  • Latskap kan betraktes som et trekk ved strømmen, da den kun vurderer kodene når det er nødvendig.
  • Besøk av elementene i strømmen kan bare gjøres en gang i løpet av en strøm. En ny strøm må opprettes for å gå tilbake til de samme elementene som er tilstede i kilden.

Fortsetter med denne artikkelen om Stream i Java



Genererer bekker

Strømmer kan genereres på følgende måter:

  • strøm() - En sekvensiell strøm returneres.Samlingregnes som kilden.
  • parallelStream () - En parallell strøm returneres. Samling betraktes som kilden.
List strings = Arrays.asList ('Hello', '', 'Hi', 'Hola', 'Bonjour', '', 'Namaste') List filtered = strings.stream (). Filter (string ->! String. isEmpty ()). samle (Collectors.toList ())

Fortsetter med denne artikkelen om Stream i Java

Operasjoner på bekker:

Mellomliggende operasjoner:

kart



Elementene som er tilstede i samlingen kan tilordnes andre objekter i henhold til predikatet som ble gitt som argument. Følgende eksempel brukes til å vise unike firkanter av tallene ved hjelp av kartmetoden.

Liste num = Arrays.asList (5,4,4,2,3,3) List kvadrater = num.stream (). Kart (y -> y * y). Tydelig (). Samle (Collectors.toList ())

filter

Elementer kan fjernes på grunnlag av et kriterium ved hjelp av denne metoden.

List name = Arrays.asList ('Saturday,' Sunday ',' Thursday ') List res = name.stream (). Filter (s-> s.startsWith (' S ')). Collect (Collectors.toList () )

sortert

Strømmen kan sorteres etter denne metoden.

hva er substring i java
List name = Arrays.asList ('Saturday', 'Sunday', 'Thursday') List res = name.stream (). Sorted (). Collect (Collectors.toList ())

Stream i Java: Terminaloperasjoner:

samle inn

Resultatet av behandlingen på elementene i en strøm kan kombineres ved hjelp av samleoperasjonen.

Liste num = Arrays.asList (4,3,2,5,6) Sett res = num.stream (). Kart (y-> y * y) .collect (Collectors.toSet ())

for hver

Denne metoden brukes til å gjenta gjennom hvert element som er tilstede i strømmen.

Liste num = Arrays.asList (4,3,2,5) num.stream (). Kart (x-> x * x) .forEach (y-> System.out.println (y))

redusere

Elementene i strømmen kan reduseres til en enkelt verdi ved å bruke denne metoden.

List num = Arrays.asList (4,3,2,5) int even = num.stream (). Filter (x-> x% 2 == 0) .reduser (0, (res, i) -> res + Jeg)

Variabelen res tildeles innledningsvis verdien 0, og i legges til den.

Fortsetter med denne artikkelen om Stream i Java

Filtrering

Koden kan filtreres ved hjelp av strømmetoden. I det følgende eksemplet blir prisen på instrumentene filtrert ut.

import java.util. * import java.util.stream.Collectors klasse Instrument {int num Strengnavn float price public Instrument (int num, String name, float price) {this.num = num this.name = name this.price = price}} public class Test {public static void main (String [] args) {List instrumentsList = new ArrayList () // Adding Products instrumentsList.add (new Instrument (1, 'Guitar', 15000f)) instrumentsList.add (new Instrument (2, 'Piano', 18000f)) instrumenterListe.add (nytt Instrument (3, 'Fløyte', 15000f)) instrumenterListe.add (nytt Instrument (4, 'Trommer', 48000f)) instrumenterListe.add (nytt Instrument ( 5, 'Ukulele', 32000f)) Liste InstrumentPriceList2 = instrumenterListe.strøm () .filter (p -> p.pris> 30000) // filtreringsdata. Kart (p-> p.pris) // hentepris. Samle ( Collectors.toList ()) // samler som liste System.out.println (InstrumentPriceList2)}}
 Produksjon: 

[48000.0, 32000.0]

Fortsetter med denne artikkelen om Stream i Java

Iterering:

Iterasjon kan utføres ved å bruke stream in java.

import java.util.stream. * public class Test {public static void main (String [] args) {Stream.iterate (1, element-> element + 1) .filter (element-> element% 4 == 0). limit (6) .forEach (System.out :: println)}}

Produksjon:

4

8

12

16

tjue

hva er en bufferedreader java

24

La oss se på et annet eksempel for å forstå konseptet Stream i Java mer effektivt.

Eksempel:

import java.util. * import java.util.stream. * public class Test {public static void main (String args []) {// opprette en liste over heltall Liste num = Arrays.asList (6,7,8,9 ) // ved hjelp av kartmetode Liste kvadrater = num.stream (). map (y -> y * y). samle (Collectors.toList ()) System.out.println (firkanter) // opprette en liste over strengelengedager = Arrays.asList ('Fredag', 'Lørdag', 'Søndag') // filtermetode Liste res = dager .stream (). filter (s-> s.startsWith ('S')). samle (Collectors.toList ()) System.out.println (res) // sortert metode Listevisning = dager.stream (). sortert (). collect (Collectors.toList ()) System.out.println (display) / / opprette en liste over heltall Liste nummer = Arrays.asList (6,9,5,7,1) // samle metode returnerer et sett Sett sqSet = number.stream (). kart (y-> y * y) .collect (Collectors.toSet ()) System.out.println (sqSet) // forEach method num.stream (). Map (y-> y * y) .forEach (x-> System.out.println (x)) / / reduser metoden int even = num.stream (). filter (x-> x% 2 == 0) .reduser (0, (result, i) -> result + i) System.out.println (even)}}

Produksjon:

[36, 49, 64, 81]

[Lørdag Søndag]

[Fredag ​​Lørdag Søndag]

[81, 49, 1, 36, 25]

36

49

64

81

14

Strømmer gjør det mulig for brukeren å utføre operasjoner på elementene effektivt.

Dermed har vi kommet til en slutt på denne artikkelen om ‘Stream in Java’. Hvis du ønsker å lære mer, kan du sjekke Java Training av Edureka, et pålitelig online læringsfirma. Edurekas Java J2EE- og SOA-opplæring og sertifiseringskurs er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

c ++ sortere int-array

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.