[英]Sorting an Array List of Objects based on a variable in object
我有一個對象數組列表
數組列表中的對象是大學信息,稱為“ ModuleInfo”(課程,作業, dateDue )
dateDue已格式化為整數YYYYMMDD(來自日歷)
我查看了人們執行此操作的其他方式,但是我無法確定我需要做什么。
理想情況下,因為我已經在創建數組列表時說過,它將包含“ ModuleInfo”對象,所以我可以只是Collection.sort(moduleDB,ModuleInfo.getDateDue)或類似的東西。 moduleDB是數組列表
任何幫助將非常感激。
如果要使用Collections.sort(List list)
對Collections.sort(List list)
進行排序,則您的對象必須實現Comparable
接口。
public class ModuleInfo implements Comparable<ModuleInfo> {
/* Your implementation */
public int compareTo(ModuleInfo info) {
if (this.dateDue < info.dateDue) {
return -1;
} else if (this.dateDue > info.dateDue) {
return 1;
} else {
return 0;
}
}
}
然后調用Collections.sort(moduleDB)
,其中moduleDB
類型為ArrayList<ModuleInfo>
。
ps如前一篇文章所述,您還可以讓您的類實現Comparator
接口以實現相同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.