Java 根据对象中的变量对对象数组列表进行排序
我有一个对象数组列表 数组列表中的对象是名为“ModuleInfo”的大学信息(课程、作业、dateDue) dateDue已格式化为整数YYYYMMDD(来自日历) 我已经研究了人们做这件事的其他一些方法,但我无法理解我需要做什么 理想情况下,因为我在创建数组列表时已经声明它将包含'ModuleInfo'对象,所以我可以使用Collection.sort(moduleDB、ModuleInfo.getDateDue)或类似的方式。moduleDB是数组列表Java 根据对象中的变量对对象数组列表进行排序,java,sorting,object,arraylist,Java,Sorting,Object,Arraylist,我有一个对象数组列表 数组列表中的对象是名为“ModuleInfo”的大学信息(课程、作业、dateDue) dateDue已格式化为整数YYYYMMDD(来自日历) 我已经研究了人们做这件事的其他一些方法,但我无法理解我需要做什么 理想情况下,因为我在创建数组列表时已经声明它将包含'ModuleInfo'对象,所以我可以使用Collection.sort(moduleDB、ModuleInfo.getDateDue)或类似的方式。moduleDB是数组列表 任何帮助都将不胜感激。如果您想使用集
任何帮助都将不胜感激。如果您想使用
集合。排序(列表)
对列表进行排序,您的对象必须实现可比较的
界面
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;
}
}
}
公共类ModuleInfo实现了可比较的{
/*您的实现*/
公共整数比较(模块信息信息){
如果(this.dateDueinfo.dateDue){
返回1;
}否则{
返回0;
}
}
}
然后调用Collections.sort(moduleDB)
其中moduleDB
具有类型ArrayList
p、 如前一篇文章所述,您还可以让您的类实现比较器
接口以获得相同的结果