1.定义实体类,找到想比较的属性(比如文件实体类按时间来排序)
public class FileInfo implements Serializable {
private static final long serialVersionUID = 7093059183697304057L;
private String fileName;
private String filePath; // 路径
private double fileSize; // 文件大小
private long fileLastTime; // 最近修改时间
//省略构造方法 和get set 方法
}
2.定义比较类
public class ContentComparator implements Comparator<FileInfo> {
/**
* 返回负数表示参数1 小于参数2
*/
@Override
public int compare(FileInfo lhs, FileInfo rhs) {
long key1 = lhs.getFileLastTime(); //需要比较的属性
long key2 = rhs.getFileLastTime();
// 如果key1大返回1 否则(如果key1小于key2 返回-1 否则返回0)
return key1 > key2 ? 1 : key1 < key2 ? -1 : 0;
}
}
3.调用
//docList 为 泛型为FileInfo的List。
Collections.sort(docList, new ContentComparator());
//如果需要倒序
Collections.reverse(docList);
欢迎小伙伴们留言交流哟