我有一个对象数组列表
数组列表中的对象是名为'ModuleInfo'的大学信息(类(class),作业, dateDue )
dateDue已被格式化为整数YYYYMMDD(来自日历)
我查看了人们执行此操作的其他方式,但是我无法理解我需要做什么。
理想情况下,因为我已经在创建数组列表时说过,它将包含“ModuleInfo”对象,所以我可以只是Collection.sort(moduleDB,ModuleInfo.getDateDue)或类似的东西。 moduleDB是数组列表
任何帮助将非常感激。
最佳答案
如果要使用Collections.sort(List list)
对列表进行排序,则您的对象必须实现Comparable
接口(interface)。
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>
。p.s.如前一篇文章所述,您还可以让您的类实现
Comparator
接口(interface)以实现相同的结果。