Collections Einsteiger

Comparator-Factories und fluente Sortierung

Lesbare, kombinierbare Sortierregeln mit den Factory-Methoden von Comparator erstellen.

✕ Anonymous comparator
people.sort(new Comparator<Person>() {
    @Override
    public int compare(Person a, Person b) {
        int byName = a.name().compareTo(b.name());
        return byName != 0 ? byName : Integer.compare(a.age(), b.age());
    }
});
✓ Java 8+
people.sort(Comparator.comparing(Person::name)
        .thenComparingInt(Person::age));
Problem mit diesem Code entdeckt? Sag uns Bescheid.
🧩

Kombinierbar

Sortierregeln lassen sich auf natürliche Weise verketten.

👁

Leichter zu prüfen

Sortierschlüssel und Priorität sind explizit.

🐛

Sicherere Vergleiche

Spezialisierte Hilfsmethoden vermeiden fehleranfällige arithmetische Comparatoren.

Alter Ansatz
Anonymer Comparator
Moderner Ansatz
Comparator-Factories
Seit JDK
8
Schwierigkeitsgrad
Einsteiger
Comparator-Factories und fluente Sortierung
Verfügbar

Verfügbar seit JDK 8 (März 2014)

Comparator-Factories drücken Sortierungen deklarativ aus und kombinieren primäre und sekundäre Schlüssel ohne handgeschriebene Verzweigungen.