如何排序ArrayLists?

时间:2012-10-10 21:03:49

标签: java sorting datetime

我有一些列表包含DateTime(Joda-time)类型的元素。我怎样才能按日期对它们进行排序? 如果有人给出了这个例子的链接,那将会很棒......

2 个答案:

答案 0 :(得分:8)

由于列表中的对象实现了Comparable接口,因此您可以使用

Collections.sort(list);

其中list是您的ArrayList


相关的Javadocs:


修改:如果要以类似方式对包含DateTime字段的自定义类列表进行排序,则必须自己实现Comparable接口。例如,

public class Profile implements Comparable<Profile> { 
    DateTime date;
    double age; 
    int id; 

    ...

    @Override
    public int compareTo(Profile other) {
        return date.compareTo(other.getDate());  // compare by date
    }
}

现在,如果您有ListProfile个实例,则可以使用与上述相同的方法,即Collections.sort(list)其中list是{{1}的列表}}第

答案 1 :(得分:6)

DateTime已经实现了Comparable,你只需要使用Collections.sort()