How to sort ArrayLists?
我有一些包含datatime(joda time)类型元素的列表。我如何按日期排序?如果有人把这个例子联系起来,那就太好了…
- 查看Collections.sort和Comparator。
- @我想你是说比较器
- 提示:按时间戳排序。
- @乔丹凯:汪汪,谢谢:)
- 你能展示一下代码的大纲吗?
因为列表中的对象实现了Comparable接口,所以可以使用
其中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
}
} |
现在,如果您有一个list的Profile实例,您可以使用与上面相同的方法,即Collections.sort(list),其中list是Profile的列表。
- 如果arraylist包含类profile public profile datetime date;double age;int id;如何按日期排序?
- 简介是我自己写的一门课
- 参见上面的编辑
DateTime已经实现了可比性,只需使用Collections.sort()即可。
- 如果arraylist包含类profile public profile datetime date;double age;int id;如何按日期排序?
- 在这种情况下,您需要实现定制的比较器。
- @在我的帖子上看到编辑
- 你能给我看一下代码的草图吗?
- stackoverflow.com/questions/5178092/&hellip;