1.创建一个比较器类实现 java.util.Comparator 并重新compare方法,以下是根据学生和老师实体类进行创建时间排序举例。
package com.jiliang
import java.util.Collections;
import java.util.List;
public class ComparatorList implements java.util.Comparator {
/**
* 根据生成时间进行排序
* @param arg0
* @param arg1
* @return
*/
@Override
public int compare(Object arg0, Object arg1) {
Student cb ;
Teacher rd ;
Student cb1 ;
Teacher rd1 ;
if(arg0 instanceof Student){
cb=(Student)arg0;
if(arg1 instanceof Teacher){
rd=(Teacher)arg1;
return cb.getCreateTime().compareTo(rd.getCreateTime());
}else{
cb1=(Student)arg1;
return cb.getCreateTime().compareTo(cb1.getCreateTime());
}
}else{
rd1=(Teacher)arg0;
if(arg1 instanceof Teacher){
rd=(Teacher)arg1;
return rd1.getCreateTime().compareTo(rd.getCreateTime());
}else{
cb=(Student)arg1;
return rd1.getCreateTime().compareTo(cb.getCreateTime());
}
}
}
}
public static void main(String [] args){
//其中Object对象是student和teacher 即:array 是List<Student>和List<Teacher>集合
List<Object> array = new ArrayList<>();
ComparatorList comparator=new ComparatorList();
//正排序
Collections.sort(array, comparator);
//逆排序
Collections.reverse(array);
}