Alles, was Sie über Stream in Java wissen müssen



In diesem Artikel lernen Sie Stream in Java kennen, ein kürzlich in Java eingeführtes Paket, und Sie erhalten eine detaillierte Erklärung, was es tun kann.

Ein neues zusätzliches Paket in Java 8, bekannt als java.util.stream wurde hinzugefügt für die Benutzer für ein effizientes Programmiererlebnis. Ein Stream kann als eine Folge von Objekten definiert werden, die mehrere Methoden unterstützen. In diesem Artikel würden wir Stream in untersuchen

Die folgenden Hinweise werden in diesem Artikel behandelt:





Bevor wir mit diesem Artikel über Stream In Java beginnen, werfen wir einen Blick auf einige wichtige Funktionen:

Stream In Java: Funktionen

  • Ein Stream ist keine Datenstruktur und speichert keine Elemente. In Sammlungen, Arrays oder E / A-Kanälen werden die Eingaben vorgenommen.
  • Die Quelle des Streams bleibt unverändert, nachdem Operationen an ihm ausgeführt wurden. Wenn Sie beispielsweise einen Stream filtern, wird einfach ein neuer Stream ohne die gefilterten Elemente erstellt, anstatt den ursprünglichen Stream zu ändern.
  • Aggregationsvorgänge wie Filtern, Reduzieren, Abgleichen, Suchen usw. werden vom Stream unterstützt.
  • Faulheit kann als Merkmal des Streams betrachtet werden, da die Codes nur bei Bedarf ausgewertet werden.
  • Der Besuch der im Stream vorhandenen Elemente kann während der Lebensdauer eines Streams nur einmal erfolgen. Es muss ein neuer Stream erstellt werden, um dieselben Elemente in der Quelle erneut aufzurufen.

Fahren Sie mit diesem Artikel über Stream in Java fort



Streams generieren

Streams können mit den folgenden Methoden generiert werden:

  • Strom() - Ein sequentieller Stream wird zurückgegeben.Sammlungwird als Quelle angesehen.
  • parallelStream () - Ein paralleler Stream wird zurückgegeben. Die Sammlung wird als Quelle betrachtet.
Liste string = Arrays.asList ('Hallo', '', 'Hallo', 'Hola', 'Bonjour', '', 'Namaste') Liste gefiltert = strings.stream (). Filter (string ->! String. isEmpty ()). collect (Collectors.toList ())

Fahren Sie mit diesem Artikel über Stream in Java fort

Was ist der Unterschied zwischen XML und HTML

Operationen an Streams:

Zwischenoperationen:

Karte



Die in der Auflistung vorhandenen Elemente können gemäß dem als Argument übergebenen Prädikat anderen Objekten zugeordnet werden. Das folgende Beispiel wird verwendet, um eindeutige Quadrate der Zahlen mithilfe der Kartenmethode anzuzeigen.

List num = Arrays.asList (5,4,4,2,3,3) List squares = num.stream (). Map (y -> y * y) .distinct (). Collect (Collectors.toList ())

Filter

Mit dieser Methode können Elemente anhand von Kriterien entfernt werden.

Listenname = Arrays.asList ('Samstag', 'Sonntag', 'Donnerstag') List res = name.stream (). Filter (s-> s.startsWith ('S')). Collect (Collectors.toList () )

sortiert

Der Stream kann mit dieser Methode sortiert werden.

Listenname = Arrays.asList ('Samstag', 'Sonntag', 'Donnerstag') List res = name.stream (). Sorted (). Collect (Collectors.toList ())

Stream in Java: Terminaloperationen:

sammeln

Das Ergebnis der Verarbeitung der Elemente eines Streams kann mithilfe der Erfassungsoperation kombiniert werden.

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

für jede

Diese Methode wird zum Durchlaufen aller im Stream vorhandenen Elemente verwendet.

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

reduzieren

Mit dieser Methode können die Elemente des Streams auf einen einzigen Wert reduziert werden.

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

Der Variablen res wird zunächst der Wert 0 zugewiesen und i hinzugefügt.

Fahren Sie mit diesem Artikel über Stream in Java fort

Filtern

Der Code kann mithilfe der Stream-Methode gefiltert werden. Im folgenden Beispiel wird der Preis der Instrumente herausgefiltert.

import java.util. * import java.util.stream.Collectors class Instrument {int num Stringname float price public Instrument (int num, Stringname, float price) {this.num = num this.name = name this.price = price}} public class Test {public statisch void main (String [] args) {InstrumentsList = new ArrayList () // Produkte hinzufügen InstrumenteList.add (neues Instrument (1, 'Gitarre', 15000f)) InstrumenteList.add (neu Instrument (2, 'Piano', 18000f)) InstrumenteList.add (neues Instrument (3, 'Flöte', 15000f)) InstrumenteList.add (neues Instrument (4, 'Schlagzeug', 48000f)) InstrumenteList.add (neues Instrument ( 5, 'Ukulele', 32000f)) List InstrumentPriceList2 = toolsList.stream () .filter (p -> p.price> 30000) // Daten filtern .map (p-> p.price) // Preis abrufen .collect ( Collectors.toList ()) // Sammeln als Liste System.out.println (InstrumentPriceList2)}}
 Ausgabe: 

[48000.0, 32000.0]

Fahren Sie mit diesem Artikel über Stream in Java fort

Iterieren:

Die Iteration kann mithilfe von Stream in Java durchgeführt werden.

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

Ausgabe:

4

8

verschiedene Arten von Gerüsten in Selen

12

16

zwanzig

24

Schauen wir uns ein anderes Beispiel an, um das Konzept von Stream in Java besser zu verstehen.

Beispiel:

import java.util. * import java.util.stream. * public class Test {public statisch void main (String args []) {// Erstellen einer Liste von Ganzzahlen List num = Arrays.asList (6,7,8,9 ) // mit der Kartenmethode List squares = num.stream (). map (y -> y * y). collect (Collectors.toList ()) System.out.println (Quadrate) // Erstellen einer Liste von String List Tagen = Arrays.asList ('Freitag', 'Samstag', 'Sonntag') // Filtermethode Liste res = Tage .stream (). filter (s-> s.startsWith ('S')). collect (Collectors.toList ()) System.out.println (res) // sortierte Methode List display = days.stream (). sortiert (). collect (Collectors.toList ()) System.out.println (display) / / Erstellen einer Liste von Ganzzahlen Listennummer = Arrays.asList (6,9,5,7,1) // Die Collect-Methode gibt eine Menge zurück. Set sqSet = number.stream (). map (y-> y * y) .collect (Collectors.toSet ()) System.out.println (sqSet) // für jede Methode num.stream (). Map (y-> y * y) .forEach (x-> System.out.println (x)) / / reduziere Methode int gerade = num.stream (). filter (x-> x% 2 == 0) .reduce (0, (Ergebnis, i) -> Ergebnis + i) System.out.println (gerade)}}

Ausgabe:

[36, 49, 64, 81]

[Samstag Sonntag]

[Freitag Samstag Sonntag]

[81, 49, 1, 36, 25]

36

49

64

81

Selen Webdriver mit Gurke Beispiel in Eclipse

14

Mit Streams kann der Benutzer Operationen an den Elementen effektiv ausführen.

Damit sind wir am Ende dieses Artikels über 'Stream in Java' angelangt. Wenn Sie mehr erfahren möchten, lesen Sie das Java-Training von Edureka, einem vertrauenswürdigen Online-Lernunternehmen. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka wurde entwickelt, um Sie für Kern- und fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring zu schulen.

Hast du eine Frage an uns? Bitte erwähne es im Kommentarbereich dieses Blogs und wir werden uns so schnell wie möglich bei dir melden.