Gibt es einen Java-Open-Source-Vergleicher zum Vergleichen von Beans mit mehreren Feldern für die Mehrspalten-Sortierung? Jede Spalte kann nachsteigend oder absteigend sortiert werden.
Bei der einspaltigen Sortierung kann dies mit org.apache.commons.beanutils.BeanComparator
zusammen mit org.springframework.util.comparator.InvertibleComparator
erreicht werden.
Mir ist bewusst, dass diese Funktionalität ziemlich trivial zu schreiben ist, aber was bringt es, das Rad neu zu erfinden, wenn es bereits geschrieben und getestet wurde?
Ich habe das vor ein paar Monaten geschrieben.
%Vor% Erben Sie einfach von dieser Klasse und überschreiben Sie die doCompare-Methode. Setzen Sie dann den nächsten Vergleicher in der Kette mit setNext()
. Je früher ein Komparator in dieser Kette erscheint, desto "wichtiger" ist er.
BEARBEITEN:
Siehe auch, was ich gefunden habe: Ссылка
Dies ist Teil der Sammlungsbibliothek apache commons, die Sie hier
herunterladen könnenJSorter ist eine weitere Open-Source-Alternative für die Mehrfachspaltensortierung in Java. Ссылка
Ich habe kürzlich einen Comparator geschrieben, um mehrere Felder innerhalb eines String-Datensatzes mit Trennzeichen zu sortieren. Es ermöglicht Ihnen, das Trennzeichen, die Struktur und die Sortierregeln (von denen einige typspezifisch sind) zu definieren.
Erforderliche Informationen werden dem Komparator entweder programmgesteuert oder über eine XML-Datei zugewiesen.
XML wird von einer im Paket eingebetteten XSD-Datei validiert. Im folgenden Beispiel ist ein tabulatorgetrenntes Datensatzlayout mit vier Feldern (von denen zwei sortierbar sind):
%Vor%Sie würden dies dann in Java wie folgt verwenden:
%Vor%Bibliothek kann hier gefunden werden:
Tags und Links java sorting comparator javabeans