Java Stream -eksempler

Java Stream -eksempler

Java Stream er et veldig nyttig trekk ved Java -programmering. Det er ikke en datastruktur, og den kan ikke lagre eller endre dataene som Java I/O -strømmer. Det brukes til å jobbe med hvilken som helst datakilde som en matrise, samling, I/O -kanal osv. Dataene fra en datastruktur kan hentes, samles eller endres til en annen datastruktur ved hjelp av Java -strømmen. “Java.util.Stream ”-pakke er pålagt å bruke Java -strømmen i koden. Ulike bruksområder av Java Stream i Java -programmer vises i denne opplæringen.

Forutsetninger:

  1. Installer den siste versjonen av OpenJDK med JRE.
  2. Installer enhver nyttig redigerer for å skrive og utføre Java -koden. Du kan sjekke denne opplæringen for å installere Eclipse Editor.

Java Stream -eksempler

Å lage strømmer fra forskjellige datastrukturer og filtrere strømdataene vises i denne delen av opplæringen ved hjelp av flere eksempler.

Eksempel 1: Opprette strømobjekt fra matriser

Opprett en Java -fil med følgende kode for å generere strømmen med flere verdier, med alle elementer i matrisen, og med et bestemt antall arrayverdier. Den første strømmen genereres fra tre strengverdier. Den andre strømmen genereres fra en rekke fire verdier. Den tredje strømmen genereres ved å kutte de tre første elementene i matrisen.

// importere nødvendige moduler
Importer Java.util.Matriser;
Importer Java.util.strøm.Strøm;
offentlig klasse javastreamexample
public static void main (String [] args)
// erklære en strøm av en matrise
Strøm Stream1 = strøm.av ("objekt", "-orientert", "programmering");
// Skriv ut alle verdiene på strømmen
Stream1.Foreach (system.ut :: trykk);
// Legg til en ny linje
System.ute.println ();
// erklære en rekke fire strengverdier
String [] strarr = new String [] "lære", "java", "programmering", "språk";
// Opprett en strøm fra en rekke verdier
Strøm Stream2 = matriser.strøm (strarr);
// Skriv ut alle verdiene på strømmen
Stream2.Foreach (system.ut :: trykk);
// Legg til en ny linje
System.ute.println ();
// Lag en strøm med noen elementer i matrisen
Strøm Stream3 = matriser.Strøm (Strarr, 0, 3);
Stream3.Foreach (system.ut :: trykk);

Følgende utgang vises etter å ha utført forrige kode. Tre verdier av den første strømmen skrives ut i den første utgangen. Alle verdiene på matrisen skrives ut i den andre utgangen etter å ha konvertert dem til strømmen. De tre første elementene i matrisen blir konvertert til strømdata og skrives ut i den tredje utgangen.

Eksempel 2: Opprette strøm fra samlinger

Opprett en Java -fil med følgende kode for å generere strømmen fra "Listen", "Set" og "Collection" -objektene. Et "liste" -objekt av tre elementer er definert i koden som konverteres til strømmen og skrives ut senere. Deretter genereres et "sett" -objekt fra den tidligere definerte "listen". "Set" blir konvertert til strømmen og skrives ut senere. Deretter genereres og konverteres et "samling" -objekt av tre elementer og konverteres til strømmen og skrives ut senere.

// importere nødvendige moduler
Importer Java.util.strøm.Strøm;
Importer Java.util.Matriser;
Importer Java.util.Liste;
Importer Java.util.Sett;
Importer Java.util.Samling;
Importer Java.util.Hashset;
offentlig klasse javastreamexample2
public static void main (String [] args)
Liste liste = matriser.ASList ("Linux", "hint", ".com ");
// Opprett en strøm fra en liste
Strøm StreamArray = liste.strøm();
StreamArray.Foreach (system.ut :: trykk);
System.ute.println ();
// Lag en strøm fra et sett
Sett set = nytt hashset (liste);
Strøm streamset = sett.strøm();
Streamset.Foreach (system.ut :: trykk);
System.ute.println ();
// Lag strøm fra en samling
Samling samling = matriser.ASList ("Lær", "Java", "Stream");
Strøm StreamCollection = samling.strøm();
strømkolleksjon.Foreach (system.ut :: println);

Følgende utgang vises etter å ha utført forrige kode. Tre verdier av første og andre strømmer er sammenkoblet og skrevet ut i den første og andre utgangen for bruk av print () -metoden. Hver verdi av den tredje strømmen skrives ut med en ny linje i den tredje utgangen for bruk av println () -metoden.

Eksempel 3: Filtrering og itering av samlingen

I de forrige eksemplene brukes en enkelt liste over data i strømmen. Men hvis du må bruke flere lister med data i strømmen, må du opprette en klasse for å definere strukturen til listedataene. Her er en klasse som heter "ansatte" erklært med en konstruktør som inneholder fire variabler for å lagre en ansattes ID, navn, innlegg og lønn.

ansatte i offentlig klasse
// erklære klassevariabler
offentlig int ID;
offentlig strengnavn;
offentlig strenginnlegg;
offentlig INT -lønn;
// erklære konstruktør
Offentlige ansatte (Int A, String B, String C, Int D)

id = a;
navn = b;
POST = C;
Lønn = D;

Opprett en Java -fil med følgende kode for å generere strømmen fra ArrayList. Deretter blir de fire postene til den ansatte lagt til ArrayList. Listen over de ansatte som har en lønn på mer enn $ 60000, filtreres ved hjelp av filteret () metoden for strømmen og skrives ut i utdataene.

// importere nødvendige moduler
Importer Java.util.Liste;
Importer Java.util.*;
offentlig klasse javastreamexample3
public static void main (String [] args)
// Opprett en ansatteliste basert på ansatteklassen
Liste < Employees > Emplist = ny ArrayList < Employees > ();
// Sett inn 4 poster i listen
Emplist.Legg til (nye ansatte (1, "Mir Sabbir", "Manager", 60000));
Emplist.Legg til (nye ansatte (2, "Menhaz Kazi", "Assistant Manager", 50000));
Emplist.Legg til (nye ansatte (3, "Rupa Chowdhury", "CEO", 100000));
Emplist.Legg til (nye ansatte (4, "Naznin Akter", "regnskapsfører", 75000));
//
System.ute.Println ("Lønn mer enn $ 60000");
System.ute.println ("----------------------");
// Filterdata ved hjelp av Java Stream
Emplist.strøm().Filter (ansatte -> Ansatte.Lønn> 60000)
.Foreach (ansatte -> system.ute.Println ("Navn:" + Ansatte.Navn + "\ nsalary: $" + ansatte.lønn + "\ n"));

Følgende utgang vises etter å ha utført forrige kode. To poster finnes i ArrayList som samsvarer med søkekriteriene og skrives ut i utdataene. Her er lønnen til “Rupa Chowdhury” og “Naznin Akter” $ 100000 og $ 75000 som er mer enn $ 60000.

Konklusjon

Strømmen kan brukes til flere formål i Java -programmering. Noen enkle bruksområder av strømmen som genereres fra matrisen og samlingen vises i denne opplæringen for å hjelpe Java -brukerne til å kjenne metoden for å bruke strømmen i koden sin.