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

Das größte Element der Datenreihe suchen

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In diesem Video zeigt Ihnen der Trainer, wie Sie einen Comparator nicht nur zum Sortieren verwenden können, sondern auch, um das kleinste oder das größte Element einer Datenreihe zu ermitteln.

Transkript

In der Regel wird das "Interface Comparator" lediglich zum Sortieren eingesetzt. Aber ein "Comparator" kann auch für andere Aufgaben nützlich sein. Denn die Klasse "Collections" bietet auch Methoden an, mit denen beispielsweise auch das kleinste oder das größte Element einer Datenreihe gefunden werden kann. Und auch die richten sich nach dem referenzierten "Comparator". In unserem Beispielprogramm werden wir diese Möglichkeit nutzen, um uns die größte Katze der Katzenliste auszugeben. Hierfür müssen wir lediglich die Methode "Max" der Klasse "Collections" mit unseren Katzen und dem "Comparator" aufrufen. Das mache ich jetzt ganz unten mal und zwar füge ich erstmal einen einzeiligen Kommentar ein, der dann besagt, "Gebe die größte Katze aus". Oder vielmehr noch, "Gebe die Größe" "der größten Katze aus". So und jetzt deklariere ich eine Variable. Ich besorg mir nämlich zunächst die "groessteKatze". Das ist ganz simpel und zwar brauche ich hierfür nur die Methode "Max" der Klasse "Collections" aufzurufen. Und der Methode "Max2 übergebe ich dann die Liste, also die "katzen" und auch noch den "Comparator". Und dann lasse ich mir die Größe der größten Katze ausgeben. "groessteKatze" ".getMessung()" ".getGrösse()" So und das probiere ich jetzt auch noch aus. So und jetzt sehen Sie, dass die größte Katze, die Katze oder der Kater Fifone ist, mit seinen 0,66 Metern, und ganz unten erscheint dann auch genau diese Größe, die wir an dieser Stelle ausgeben. Nun gut, das hat also funktioniert. Unschön ist noch, dass wir den "Comparator" mehrere Male als Objekt erzeugen. Und zwar dort und dort, also zweimal, und damit wir den Katzen-"Comparator" nicht zweimal erzeugen, könnte ich ein Objekt des Typs "Comparator" deklarieren, den ich in beiden Anweisungen verwende. Aber noch besser für unser Training ist es, wenn wir Ihre neuen Kenntnisse über Lambda Expressions nutzen und den "Comparator" als Lambda Expression in der Startklasse formulieren. Und das probiere ich einmal aus. Zunächst kopiere ich mir den Anweisungsblock inklusive der Übergabe-Parameter, der "Single Abstract Method", heraus. Und zwar waren diese ja im Katzen-"Comparator" drin. Ich kopiere einfach mal alles heraus, über Strg+C, und das Interface oder die Klasse "Katzen-Comparator" brauchen wir jetzt gar nicht mehr, die lösche ich. So und den "import" entferne ich auch. Und dann deklariere ich im Konstruktor eine Variable mit dem Typ "Comparator", denn auch das ist ein Functional Interface. "Comparator" hat ja auch nur eine abstrakte Methode. Also ... "Comparator<Katze comparator =" Jetzt brauchen wir zwei Parameter, die verglichen werden sollen. Also "k1" und "k2", das sind ja unsere Katzen. Und den Lambda-Operator brauchen wir auch. Geschweifte Klammern für den Anweisungsblock, "Comparator" muss ich importieren. So und innerhalb des Lambda-Ausdrucks werde ich nun den Vergleich durchführen. Hier werde ich einfach nur ... den Teil hier belassen. Also "return Double.compare()". Und dann vergleich ich "k1" mit "k2". Und schon bin ich mit meinem Lambda-Ausdruck fertig. Ich habe jetzt also eine Variable. Und dieser Variablen habe ich den Lambda-Ausdruck zugewiesen, bei dem der Vergleich stattfindet. Und deswegen kann ich die Variable "Comparator" einmal über Strg+C kopieren, und hier unten, wo wir den Katzen-Operator instanziieren, diesen Teil, diese Anweisung des Katzen- Operators, kann ich dann entfernen, mit dem wir ja eine neue Instanz schaffen. Und stattdessen kann ich dann die Variable "comparator" einfügen. Und das Gleiche mache ich auch hier unten. So, damit bin ich jetzt fertig. Ich führe das Programm noch einmal aus und dann sehen Sie, dass das Ergebnis das Gleiche ist. In diesem Video habe ich Ihnen erklärt, dass Sie einen "Comparator" nicht nur zum Sortieren verwenden können, sondern auch um das kleinste oder größte Element einer Datenreihe zu suchen. In unserem Beispielprogramm haben wir auf diese Weise die größte Katze finden können.

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!