Generischen comparator zu Sortieren Java Collections (List, Set)
Muss ich einige Allgemeine Komparator, die Sie akzeptieren würde-Instanzen der Liste oder als ein argument, und um die Richtung argument (ASC, DESC) und dann wieder die sortierte Sammlung. Ich kann nicht scheinen, um im internet finden diesem Beispiel, und bin in einem schrecklichen Eile. Ich weiß, dass ich nicht Fragen die Frage in der entsprechenden Weise, da ich keine code, um mit zu beginnen, bin aber in einem schrecklichen Eile. Die Sammlungen enthalten Objekte, die für die Einführung vergleichbarer und Termine.
Alle Beispiele, Umsetzungen sehr geschätzt.
Danke.
Ich kann dich verstehen das Sortieren einer Liste, aber nicht einen Satz. Java hat eine
SortedSet
aber nicht tatsächlich Sie zu Sortieren, Sie präsentieren Ihre Elemente in sortierter Reihenfolge, wenn Sie Durchlaufen. Was genau willst du diese "Komparator" zu tun?
InformationsquelleAutor Julia | 2011-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Collections-Klasse hat eine
reverseOrder
Methode gibt ein Komparator für einen generischen TypT
das sollte erfüllen Ihre Anforderung für die DESC-Komparator. Wenn Sie die Weitergabe IhrerCollection
zu denCollections.sort()
Methode, die es verwendet automatisch die ASC Sortieren.Auch, "Sortieren" bedeutet nicht, eine Menge, wenn es um die "sets" die Pflege "unique" - Elemente in einer ungeordneten Art und Weise (ich meine, Sie können
TreeSet
für sortierte Sätze, aber das ist eine andere Geschichte). Eine einfache Lösung wäre eineList
aus derSet
und übergeben es anCollections.sort
.InformationsquelleAutor Sanjay T. Sharma
Mit GenericComparator.java werden Sie in der Lage zu Sortieren Sie folgende Datentypen Integer, String, Long, Double, Float, und Datum.
Für die Aufsteigende Reihenfolge
Für eine Absteigende Reihenfolge
Detaillierte Informationen finden Sie hier!
Bitte lassen Sie mich wissen, den Grund für den down-vote. Also, ich kann eine Erklärung oder Verbesserung zu meiner Antwort, Danke.
InformationsquelleAutor jeevatkm
Dies könnte als ein basic-kick-off Beispiel für den Anfang mit Ihrer Anforderung :
InformationsquelleAutor Sandeep Pathak
Müssen Sie rufen Sie Ihren Komparator mit den folgenden code.
Dann müssen Sie erstellen Sie Ihre eigenen comparator-Klasse, das für die Sortierung auf Ihr Objekt bean entweder auf aufsteigend oder absteigend.In dieser Klasse vergleichen kann man das Grundstück, auf dem Sie ausführen möchten, zu Sortieren.Hier führe ich die Sortierung nach den Namen.
InformationsquelleAutor Rupeshit
Hier ist mein Java-8 Allgemeine Komparator. Vergleichen Sie alle T auf die Funktion f(T) -> R, z.B. Person (T) Geburtsdatum (R). Da f sein kann, eine Methode, Verweis auf eine get-T, es ist einfach zu vergleichen, die auf jede Eigenschaft (Feld) von T. Es bietet für null-T-und null-R (Sie entscheiden, ob null-Werte gehen erste oder Letzte), als auch in aufsteigender/absteigender Reihenfolge. Seit es nutzt die natürlichen Bestellung von R, das letztere muss auch die Umsetzung Vergleichbar. Siehe Beispiel am Ende des Codes.
InformationsquelleAutor Cornel Masson
Definieren
Comparator
- Schnittstellewie
Klassen schreiben, die identifiziert und verglichen werden
zum Beispiel für Datum-Objekte
Rang Komparator
und so weiter...
InformationsquelleAutor GustyWind