Ich möchte Collections.sort () zweimal für zwei verschiedene Parameter verwenden [duplizieren]

7

Ich habe eine Liste von Objekten, die ich mit verschiedenen Eigenschaften sortieren möchte.

%Vor%

Was ich bisher habe:

%Vor%

Also, im ersten Fall kann ich mit property1 sortieren, aber wie sortiere ich mit property2? Ich versuche, mit anderen Parametern zu sortieren, aber compareTo() akzeptiert nur einen.

    
SOP 26.08.2015, 10:24
quelle

4 Antworten

5

Wenn Sie zwei verschiedene Eigenschaften verwenden möchten, müssen Sie zwei verschiedene Komparatoren verwenden.

Ein Komparator ist eine Klasse, die das Interface Comparator

implementiert %Vor%

Eine verwandte Frage Collections sort (Liste & lt; T & gt;, Komparator & lt;? super T & gt;) Methodenbeispiel

    
Rodolfo 26.08.2015, 10:30
quelle
6

Sie können zwei verschiedene Komparatoren für jede Eigenschaft erstellen und diese an

übergeben %Vor%     
Rahul Yadav 26.08.2015 10:29
quelle
6
%Vor%     
SteveL 26.08.2015 10:32
quelle
2

Java 8 bietet einige praktische Funktionen in der Comparator-Schnittstelle.

%Vor%

Wenn Sie die Komparatoren verschachteln wollen, gibt es wieder nette Funktionen.

%Vor%     
Flown 26.08.2015 10:42
quelle

Tags und Links