以前lz一直使用快排、冒泡这些对集合进行排序,今天学会了一种新的排序方法,放出来请大神指正
Collections.sort(list, dateUtils.timeStartComparator);
dateUtils是一个自定义的通用工具类,方便这个排序方法的通用
public static Comparator<Test> tripStartComparator = new Comparator<Test>() { @Override public int compare(Test t1, Test t2) { return t1.getStartTime().compareTo(t2.getStartTime()); } };
也可以把实体类直接实现Comparable接口,就可以在实体类中重写compare方法,进行排序了
返回负数,则证明t2比t1的时间早
返回正数,则证明t2比t1的时间晚
返回0,则t1和t2时间相同
此方法源码中使用Date的getTime的方法进行比较,使用三元运算符返回正负或0.