关于java:如何排序ArrayLists?

How to sort ArrayLists?

本问题已经有最佳答案,请猛点这里访问。

我有一些包含datatime(joda time)类型元素的列表。我如何按日期排序?如果有人把这个例子联系起来,那就太好了…


因为列表中的对象实现了Comparable接口,所以可以使用

1
Collections.sort(list);

其中list是你的ArrayList

相关javadocs:

  • Collections
  • DateTime
  • Comparable

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

1
2
3
4
5
6
7
8
9
10
11
12
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),其中listProfile的列表。


DateTime已经实现了可比性,只需使用Collections.sort()即可。