簡體   English   中英

根據對象中的變量對對象的數組列表進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM