Heim >Java >javaLernprogramm >Wie sortiere ich Java-Sammlungen nach benutzerdefinierten Feldern?
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!