首頁 > Java > java教程 > 主體

如何在 Java 中對具有多個欄位的物件清單進行排序?

Barbara Streisand
發布: 2024-11-04 08:20:30
原創
914 人瀏覽過

How to Sort Lists of Objects with Multiple Fields in Java?

對具有多個欄位的物件清單進行排序:

在提供的初始排序程式碼中,比較中欄位的串聯使得分離字段進行排序變得具有挑戰性。若要修正此問題,請考慮在欄位之間新增空格。或者,您可以探索以下替代方案:

使用 Java 8 Lambda:

Collections.sort(reportList, Comparator.comparing(Report::getReportKey)

    .thenComparing(Report::getStudentNumber)
    .thenComparing(Report::getSchool));
登入後複製

反射方法:BeanComparator:

ComparatorChain chain = new ComparatorChain(Arrays.asList(
new BeanAter size"),
new BeanComparator("nrOfToppings"),
new BeanComparator("name")));

Collections.sort(披薩,鏈);

Guava 的ComparisonChain :

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();  
}  
登入後複製

})

Apache Commons CompareToBuilder:

Collections. , new Comparator() {

@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();  
}  
登入後複製

} );

以上是如何在 Java 中對具有多個欄位的物件清單進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板