Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

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

Ergebnisse filtern

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Video zeigt Ihnen der Trainer, wie Sie Ergebnisse filtern. Hierbei stellt er Ihnen die Methode filter() des Interfaces Stream und die Methode isPresent() der Klasse Optional vor.

Transkript

In diesem Video werde ich Ihnen die Methode "Filter" des Interfaces "Stream" vorstellen. Außerdem werden wir erstmalig auch die Methode "isPresent" der Klasse "optional" einsetzen. Die Methode "isPresent" gibt True zurück, wenn der optionale Wert im Inneren des "optional" enthalten ist. Ansonsten False. Diese Methode werde ich hier unten bei der Aufgabe "Entferne die größte Katze und gebe die Katzen erneut aus, falls eine Katze entfernt wurde" einsetzen. Hierdurch stelle ich für den Fall, dass keine Katze gefunden wurde, sicher, dass die Methode "removeIf" keine Exception auslöst. Also "if" und jetzt kann ich "optional" einsetzen, ".isPresent()" Und nur, wenn im "optional" ein Wert enthalten ist, dann wird das Innere der if-Anweisung ausgeführt. Und nun entferne ich auch den Inhalt des Anweisungs-Blocks der if-Anweisung, denn auch dort können wir uns mit der "Stream API" wesentlich kürzer ausdrücken. Zunächst rufe ich wieder die Methode "Stream" auf bei der Katzenliste. Und nun möchte ich ja die Katzenliste um die größte Katze reduzieren. Oder anders gesagt, nur die Katzen sollen ausgegeben werden, die nicht die größte Katze sind. Und das kann ich beim Stream auch mit der Methode "Filter" erreichen. Ich wähle also die Methode "Filter" aus und diese erwartet ein "predicate", das heißt ein Ausdruck, der eine Aussage darüber trifft, ob das Element erhalten werden soll oder nicht. Und hier schreibe ich deshalb rein ich brauche ja einen Lambda-Ausdruck und "K" soll jetzt meine Katze sein, also das einzelne Element in der Datenreihe, die gestreamt ist und "K" soll nicht der größten Katze entsprechen und das drücke ich so aus, und zwar ich muss ja eine Umkehrung des equals-Ausdrucks anweisen. Also "k.equals" der Katze, das wäre dann die größte Katze, und durch das Ausrufezeichen habe ich dann eben alle anderen. Und hier drin brauche ich jetzt die größte Katze und wir haben ja im "optional" den Wert der größten Katze drin und dadurch, dass dieser Anweisungsblock der if- Verzweigung ohnehin nur durchlaufen wird, wenn dort tatsächlich eine Katze enthalten ist, können wir hier jetzt auch sagen, "optional.get()". Hierdurch erhalte ich also einen "Stream" mit allen Katzen, außer der größten Katze. Und die übrigen Katzen brauche ich jetzt nur noch auszugeben, also füge ich eine forEach-Methode mit dem "System.out.println" als Method-Reference hinzu. Ich rücke die Methoden ein, damit es deutlich wird, was wir hier machen. Also, zwei, drei, vier öffnende Klammern, vier schließende, Punkt, und jetzt kann ich eine forEach-Methode suchen, richtig. Und jetzt erwartet die forEach-Methode einen "Consumer" und deswegen setze ich die Method-Reference ein, "system.out: :println" und bin somit mit dem Beispielprogramm fertig und das führe ich einmal aus, und dann sehen Sie, dass hier unten die vier Katzen ausgegeben werden und dass die größte Katze Fifone nicht enthalten ist. In diesem Video habe ich Ihnen die Methode "Filter" des Interfaces "Stream" und die Methode "isPresent" der Klasse "optional" 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!