Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Stream zu neuem Stream gemappt

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Dieses Video dreht sich um die Methode map() aus dem Interfaces Stream.

Transkript

In diesem Video stelle ich Ihnen die Methode Map des Interfaces Stream vor, die nicht mit der Methode Map der Klasse Optional verwechselt werden sollte. Denn die Methode Map des Interfaces Stream geht von einem Stream aus und liefert eine neue Ergebnismenge in einem neuen Stream zurück. In unserem Beispielprogramm werde ich einen vorhanden Katzen Stream verwenden. Hierfür rufe ich wieder die Stream Methode bei den Katzen auf. katzen.stream() So nun habe ich einen Stream, das heißt eine Datenreihe von Katzen, die mir als Stream umgewandelt worden ist und auf diesen Stream werde ich die Methode Map ansetzen, um auf jede Katze den BMI-Wert auszurechnen. Das Ergebnis wird ein neuer Stream mit BMI-Werten sein. Wenn Sie die Videos dieses Trainings aufmerksam mitverfolgt haben, werden Sie wissen, dass sich der BMI-Index mit der Formel Gewicht durch Groesse zum Quadrat errechnet. Wir brauchen also zunächst eine Möglichkeit, wie wir die jeweilige Groesse und das Gewicht jeder Katze in einer BMI-Formel ausrechnen können. Und die Ergebnisse sollen uns dann als Stream geliefert werden. Und genau zu so einem Zweck können wir die Methode Map nutzen, weshalb rufe ich die Methode Map auf. Sie sollen anschließend einen Stream mit allen BMI-Werten liefern. Und die Methode Map, die benötigt jetzt eine ja, also entweder eine Methode-Referenz oder eine Lambda-Expression, jedenfalls etwas, das das Functional Interface function repräsentiert. Und das werde ich jetzt auch machen. Zunächst mal rücke ich den Aufruf der Methode stream und der Methode map ein. Und jetzt muss ich hier in den runden Klammern der Methode Map eine Lambda-Expression einbauen, die mir dann eben den BMI-Wert ausrechnet. Hierfür brauche ich ja zunächst mal jedes einzelne Element. In dem Stream steckt ja jetzt als Element immer jeweils eine Katze drin und deswegen schreibe ich ein k hin. Das ist dann jeweils immer eine Katze. Dann brauche ich einen Lambda-Operator. Und jetzt werde ich erstmal geschweifte Klammern hinzufügen, weil ich ja einen etwas komplexeren Anweisungsblock ja programmieren möchte. Und das Ganze rücke ich etwas ein. Also ich werde jetzt hier in dem Anweisungsblock den BMI-Wert ausrechnen. Was brauche ich dafür? Zunächst mal brauche ich hierfür die Groesse der Katze. Also double groesse = k.getMessung().getGroesse() und das Gleiche brauche ich auch fürs Gewicht, also double gewicht=k.getMessung().getGewicht() Und der BMI-Wert errechnet sich aus Gewicht durch Groesse zum Quadrat und das kann ich auch direkt zurückgeben. return gewicht / und hier in den runden Klammern setze ich jetzt das Quadrat der groesse rein. groess * groesse, das soll mir das Quadrat liefern und schon bin ich mit meiner Berechnung fertig und der BMI-Wert wird jetzt also Rückgabewert geliefert und zwar jedes Mal, wenn eine Katze durch den Stream läuft, beziehungsweise für jedes Element der Datenreihe. Aber für sich ist ja jedes Element im Stream, das zurückgeliefert wird, ein Wert des Typs Double. Und das ist auch genau, was ich möchte. Das heißt ich habe einen Stream mit Katzenelementen hier als Eingangsstrom und ich erhalte einen Stream mit Double Werten zurück. Und diesen Stream kann ich auch ausgeben. Hierfür setze ich den Punkt Operator wieder ein, selektiere die forEach Methode und der übergebe ich dann die Methode-Referenz system.out: :Println. Und das probiere ich auch einmal aus. So und dann sehen Sie ganz hier unten die vier BMI-Werte der Katzen aus dem stream. In diesem Video habe ich Ihnen die Methode Map des Interfaces Stream vorgestellt.

Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Steigen Sie tiefer in die Java-Programierung ein und lernen Sie den Umgang mit generischen Typen, Lamda-Ausdrücken, DAtenströmen und mit Datums- und Zeitberechnung.

5 Std. 24 min (47 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:09.10.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!