java中的ArrayList需要通过collections类的sort方法来进行排序
如果想自定义排序方式则需要有类来实现Comparator接口并重写compare方法
调用sort方法时将ArrayList对象与实现Commparator接口的类的对象作为参数
1.获取ArrayList数据
ArrayList<Chapter> list = executeChapter.getStudyRecordChapters();
Collections.sort(list, new Order());
adapter.setList(list);
2.重写Collection的compare方法
/**
* 对集合排序
*/
public class Order implements Comparator<Chapter> {
@Override
public int compare(Chapter lhs, Chapter rhs) {
// TODO Auto-generated method stub
//按照时间顺序最新的在上面
long a = Long.decode(rhs.getStudyTime());
long b = Long.decode(lhs.getStudyTime());
long c = a - b;
if (c > 0) {
return 1;
} else if (c == 0) {
return 0;
} else {
return -1;
}
}
}