我有一个对象数组列表
Array List 中的对象是名为“ModuleInfo”的大学信息(类(class)、作业、dateDue)
dateDue 已被格式化为整数 YYYYMMDD(来自日历)
我已经了解了人们完成此操作的其他一些方法,但我无法理解我需要做什么。
理想情况下,因为我在创建数组列表时已经说明它将包含“ModuleInfo”对象,所以我可以只使用 Collection.sort(moduleDB, ModuleInfo.getDateDue) 或类似的东西。 moduleDB 是数组列表
如有任何帮助,我们将不胜感激。
最佳答案
如果你想使用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>
.
附注如前一篇文章所述,您还可以让您的类实现 Comparator
界面以获得相同的结果。
关于java - 根据对象中的变量对对象数组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10545300/