【问题标题】:Sorting an Array List of Objects based on a variable in object根据对象中的变量对对象的数组列表进行排序
【发布时间】:2012-05-19 16:37:18
【问题描述】:

我有一个对象数组列表

数组列表中的对象是名为“ModuleInfo”的大学信息(课程、作业、dateDue

dateDue 已格式化为整数 YYYYMMDD(来自日历)

我查看了人们执行此操作的其他一些方法,但我无法理解我需要做什么。

理想情况下,因为我在创建数组列表时已经声明它将包含“ModuleInfo”对象,所以我可以只使用 Collection.sort(moduleDB, ModuleInfo.getDateDue) 或类似的东西。 moduleDB 是数组列表

任何帮助将不胜感激。

【问题讨论】:

    标签: java sorting object arraylist


    【解决方案1】:

    如果您想使用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&lt;ModuleInfo&gt;

    附言如前一篇文章所述,您还可以让您的类实现Comparator 接口以实现相同的结果。

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 2013-11-25
      • 1970-01-01
      • 2013-12-01
      相关资源
      最近更新 更多