Heim >Java >javaLernprogramm >Wie sortiere ich Java-Sammlungen nach benutzerdefinierten Feldern?

Wie sortiere ich Java-Sammlungen nach benutzerdefinierten Feldern?

Linda Hamilton
Linda HamiltonOriginal
2024-11-07 19:31:03893Durchsuche

How do I Sort Java Collections by Custom Fields?

Java-Sammlungen nach benutzerdefiniertem Feld sortieren

Sie haben eine Java-Sammlung, die Sie nach einem Feld sortieren möchten. So können Sie dies erreichen:

Verwenden eines Komparators

Wenn Ihre Sammlungselemente Comparable nicht implementieren, können Sie einen Komparator verwenden, um die Sortierkriterien anzugeben:

Comparator<CustomObject> comparator = (left, right) -> left.getId() - right.getId();
Collections.sort(list, comparator);
System.out.println(list);

Verwenden der Comparable-Schnittstelle (Java 8)

Wenn Ihr CustomObject Comparable implementiert, können Sie Collections.sort():

Collections.sort(list);

Erweiterte Sortieroptionen

Für eine bequemere Syntax in Java 8 sollten Sie die folgenden Optionen in Betracht ziehen:

Collections.sort(list, (left, right) -> left.getId() - right.getId());
list.sort((left, right) -> left.getId() - right.getId());
list.sort(Comparator.comparing(CustomObject::getId));
Denken Sie daran, dass der ursprüngliche Code, der für den Komparatoransatz verwendet wird, verwendet werden kann kann auch auf Java 8 angewendet werden.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Java-Sammlungen nach benutzerdefinierten Feldern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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