Im anfänglichen Sortiercode wird die Verkettung der Felder im Vergleich angegeben macht es schwierig, die Felder zum Sortieren zu trennen. Um dies zu beheben, sollten Sie in Erwägung ziehen, Leerzeichen zwischen den Feldern einzufügen. Alternativ können Sie die folgenden Alternativen erkunden:
Collections.sort(reportList, Comparator.comparing(Report::getReportKey)
.thenComparing(Report::getStudentNumber) .thenComparing(Report::getSchool));
ComparatorChain chain = new ComparatorChain(Arrays.asList(
new BeanComparator ("size"),
new BeanComparator("nrOfToppings"),
new BeanComparator("name")));
Collections.sort(pizzas, chain);
Collections.sort(pizzas, new Comparator
@Override public int compare(Pizza p1, Pizza p2) { return ComparisonChain.start().compare(p1.size, p2.size).compare(p1.nrOfToppings, p2.nrOfToppings).compare(p1.name, p2.name).result(); }
}); >
@Override public int compare(Pizza p1, Pizza p2) { return new CompareToBuilder().append(p1.size, p2.size).append(p1.nrOfToppings, p2.nrOfToppings).append(p1.name, p2.name).toComparison(); }
Das obige ist der detaillierte Inhalt vonWie sortiere ich Objektlisten mit mehreren Feldern in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!