我有一些列表包含DateTime(Joda-time)类型的元素。我怎样才能按日期对它们进行排序? 如果有人给出了这个例子的链接,那将会很棒......
答案 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
}
}
现在,如果您有List
个Profile
个实例,则可以使用与上述相同的方法,即Collections.sort(list)
其中list
是{{1}的列表}}第
答案 1 :(得分:6)
DateTime
已经实现了Comparable,你只需要使用Collections.sort()