- stream排序操作(默认ASC排序)
List<Integer> collect = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
System.out.println("list<Integer>元素倒序:" + collect );
- 按User的年龄正序排序(默认ASC排序)
List<User> collect users.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());
System.out.println(collect);
- 按User的年龄倒序排序(DESC排序)
List<User> collect users.stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(Collectors.toList());
System.out.println(collect);
- 时间根据时间倒序 - 最新的时间展示最前面
/**
* 时间根据时间倒序 - 最新的时间展示最前面
* @param listDtos 返回的是 VO 实体
* @return 返回结果
*/
private List<PrizeRecordDto> sortedSort(List<PrizeRecordDto> listDtos) {
Collections.sort(listDtos, new Comparator<PrizeRecordDto>() {
@Override public int compare(PrizeRecordDto o1,PrizeRecordDto o2) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
// 注意 parse() 中的参数为 String 类型
Date dt1 = format.parse(o1.getGetBagDate());
Date dt2 = format.parse(o2.getGetBagDate());
if (dt1.getTime() < dt2.getTime()) {
return 1;
} else if (dt1.getTime() > dt2.getTime()) {
return -1;
} else {
return 0;
}
} catch (Exception e) {
log.error("排列时间报错"+e);
}
return 0;
}
});
return listDtos;
}