Klasse Comparators
java.lang.Object
de.svws_nrw.module.reporting.sortierung.Comparators
Eine Hilfsklasse zur Erstellung und Nutzung von vordefinierten und zusammengesetzten
Comparator
Instanzen.
Diese Comparatoren erlauben die flexible und mehrschichtige Sortierung von Objekten und unterstützen sowohl
Strings mit deutschen Lokalisierungseinstellungen als auch generische Werte, die das Interface Comparable
implementieren.
Die Klasse ist unveränderlich und kann nicht instanziiert werden.-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic <T,
U extends Comparable<? super U>>
Comparator<T> comparableComparator
(Function<T, U> wertermittlungsfunktion, boolean sortiereAufsteigend) Erstellt einenComparator
für Objekte des TypsT
, basierend auf einem Wert vom TypU
, der durch die angegebene Funktion extrahiert wird.static <T> Comparator
<T> stringComparator
(Function<T, String> wertermittlungsfunktion, boolean sortiereAufsteigend) Erstellt einenComparator
für Objekte des TypsT
, basierend auf einem String-Wert, der durch die angegebene Funktion geliefert wird.static Comparator
<String> Erstellt einenComparator
für Strings basierend auf der deutschen Spracheinstellung.static <T> Comparator
<T> verketten
(List<Comparator<T>> comparators) Verkettet eine Liste vonComparator
Objekten, sodass sie nacheinander zur Sortierung verwendet werden.
-
Methodendetails
-
stringComparatorDeutsch
Erstellt einenComparator
für Strings basierend auf der deutschen Spracheinstellung. Die Sortierung erfolgt unter Beachtung der sekundären Stärke (z. B. wird die Groß-/Kleinschreibung ignoriert, Umlaute werden korrekt berücksichtigt). Null-Werte werden dabei zuletzt sortiert.- Gibt zurück:
- Ein
Comparator
, der Strings gemäß der deutschen Sprachregelung sortiert, wobeinull
-Werte zuletzt eingeordnet werden.
-
stringComparator
public static <T> Comparator<T> stringComparator(Function<T, String> wertermittlungsfunktion, boolean sortiereAufsteigend) Erstellt einenComparator
für Objekte des TypsT
, basierend auf einem String-Wert, der durch die angegebene Funktion geliefert wird. Die Sortierung erfolgt in aufsteigender oder absteigender Reihenfolge, abhängig vom angegebenen Flag.- Typparameter:
T
- Der Typ der Objekte, die verglichen werden sollen- Parameter:
wertermittlungsfunktion
- Eine Funktion, die für ein Objekt vom TypT
einString
-Feld extrahiert, welches für die Sortierung verwendet wirdsortiereAufsteigend
- Einboolean
-Flag, das bestimmt, ob in aufsteigender (true
) oder absteigender (false
) Reihenfolge sortiert werden soll- Gibt zurück:
- Ein
Comparator
, der Objekte des TypsT
unter Verwendung des extrahierten Strings sortiert, abhängig von der angegebenen Sortierrichtung
-
comparableComparator
public static <T,U extends Comparable<? super U>> Comparator<T> comparableComparator(Function<T, U> wertermittlungsfunktion, boolean sortiereAufsteigend) Erstellt einenComparator
für Objekte des TypsT
, basierend auf einem Wert vom TypU
, der durch die angegebene Funktion extrahiert wird. Der zu vergleichende Wert muss das InterfaceComparable
implementieren. Null-Werte werden zuletzt sortiert. Die Sortierung kann in aufsteigender oder, falls angegeben, absteigender Reihenfolge erfolgen.- Typparameter:
T
- Der Typ der Objekte, die verglichen werden sollenU
- Der Typ des vonwertermittlungsfunktion
extrahierten Wertes, der verglichen wird. Dieser Typ mussComparable
implementieren.- Parameter:
wertermittlungsfunktion
- Eine Funktion, die für ein Objekt vom TypT
einen vergleichbaren Wert vom TypU
extrahiertsortiereAufsteigend
- Einboolean
-Flag, das angibt, ob in aufsteigender (true
) oder absteigender (false
) Reihenfolge sortiert werden soll- Gibt zurück:
- Ein
Comparator
, der Objekte des TypsT
anhand des extrahierten vergleichbaren Wertes sortiert, abhängig von der angegebenen Sortierrichtung
-
verketten
Verkettet eine Liste vonComparator
Objekten, sodass sie nacheinander zur Sortierung verwendet werden. Jeder übergebeneComparator
wird dabei in der Reihenfolge der Iteration berücksichtigt.- Typparameter:
T
- Der Typ der Objekte, die verglichen werden sollen- Parameter:
comparators
- Eine Liste vonComparator
Objekten, die verkettet werden sollen- Gibt zurück:
- Ein
Comparator
, der die übergebenen Comparatoren in der definierten Reihenfolge verwendet
-