Kapitel 4. Komparatoren und Kollektoren
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Java 8 erweitert die Schnittstelle Comparator um mehrere statische und Standardmethoden, die Sortiervorgänge viel einfacher machen. Es ist jetzt möglich, eine Sammlung von POJOs nach einer Eigenschaft zu sortieren, dann gleich nach einer zweiten, dann nach einer dritten und so weiter, einfach mit einer Reihe von Bibliotheksaufrufen.
Java 8 fügt außerdem eine neue Dienstleistungsklasse namens java.util.stream.Collectors hinzu, die statische Methoden zur Konvertierung von Streams zurück in verschiedene Arten von Sammlungen bietet. Die Collectors können auch "nachgelagert" eingesetzt werden, das heißt, sie können eine Gruppierungs- oder Partitionierungsoperation nachbearbeiten.
Die Rezepte in diesem Kapitel veranschaulichen all diese Konzepte.
4.1 Sortieren mit Hilfe eines Komparators
Problem
Du willst Objekte sortieren.
Lösung
Verwende die Methode sorted auf Stream mit einer Comparator, die entweder mit einem Lambda-Ausdruck implementiert oder von einer der statischen Methoden compare auf der Schnittstelle Comparator erzeugt wird.
Diskussion
Die Methode sorted auf Stream erzeugt einen neuen, sortierten Stream unter Verwendung der natürlichen Ordnung der Klasse. Die natürliche Ordnung wird durch die Implementierung der Schnittstelle java.util.Comparable festgelegt.
Betrachte zum Beispiel die Sortierung ...