Heim > Java > javaLernprogramm > Wie sortiere ich Java-Sammlungen: Komparator-, vergleichbare und Lambda-Ausdrücke?

Wie sortiere ich Java-Sammlungen: Komparator-, vergleichbare und Lambda-Ausdrücke?

Susan Sarandon
Freigeben: 2024-11-07 22:49:02
Original
721 Leute haben es durchsucht

How to Sort Java Collections: Comparator, Comparable, and Lambda Expressions?

Java-Sammlungen sortieren

Um eine Java-Sammlung zu sortieren, sind je nach den spezifischen Anforderungen mehrere Ansätze zu berücksichtigen. Eine gängige Option ist die Verwendung eines Comparators.

Verwendung eines Comparators:

Erstellen Sie eine Comparator-Klasse, die die Comparator-Schnittstelle implementiert. Innerhalb der Methode „compare()“ definieren Sie die Logik zum Vergleichen von Objekten. Um beispielsweise ein CustomObject nach seinem ID-Feld zu sortieren:

Comparator<CustomObject> comparator = new Comparator<CustomObject>() {
    @Override
    public int compare(CustomObject left, CustomObject right) {
        return left.getId() - right.getId();
    }
};
Nach dem Login kopieren

Verwenden Sie dann den Comparator, um die Sammlung mit Collections.sort() zu sortieren:

Collections.sort(list, comparator);
Nach dem Login kopieren

Alternativ, wenn Ihr CustomObject implementiert Comparable, Sie können Collections.sort(list) direkt verwenden.

Mit JDK 8 Lambda-Ausdrücken:

Lambda-Ausdrücke wurden in JDK 8 eingeführt und bieten eine praktische Möglichkeit um Komparatoren zu schreiben:

Collections.sort(list, (left, right) -> left.getId() - right.getId());
Nach dem Login kopieren

Kurzschreibweise mit JDK 8:

Für einfache Szenarien kann die folgende Kurzschreibweise zum Sortieren nach einem bestimmten Feld verwendet werden:

list.sort(Comparator.comparing(CustomObject::getId));
Nach dem Login kopieren

Letztendlich hängt der beste Ansatz zum Sortieren einer Java-Sammlung von den spezifischen Anforderungen und der verwendeten Java-Version ab.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Java-Sammlungen: Komparator-, vergleichbare und Lambda-Ausdrücke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage