Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据对象中的变量对对象数组列表进行排序_Java_Sorting_Object_Arraylist - Fatal编程技术网

Java 根据对象中的变量对对象数组列表进行排序

Java 根据对象中的变量对对象数组列表进行排序,java,sorting,object,arraylist,Java,Sorting,Object,Arraylist,我有一个对象数组列表 数组列表中的对象是名为“ModuleInfo”的大学信息(课程、作业、dateDue) dateDue已格式化为整数YYYYMMDD(来自日历) 我已经研究了人们做这件事的其他一些方法,但我无法理解我需要做什么 理想情况下,因为我在创建数组列表时已经声明它将包含'ModuleInfo'对象,所以我可以使用Collection.sort(moduleDB、ModuleInfo.getDateDue)或类似的方式。moduleDB是数组列表 任何帮助都将不胜感激。如果您想使用集

我有一个对象数组列表

数组列表中的对象是名为“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、 如前一篇文章所述,您还可以让您的类实现
比较器
接口以获得相同的结果