java集合多字段排序

##单字段排序
//对basicResultList按照最后发现时间进行降序排序
basicResultList.sort(new Comparator() {
@Override
public int compare(MobileBasicInfoVO o1, MobileBasicInfoVO o2) {
return o2.getLastTime().compareTo(o1.getLastTime());
}
});
如果要按照升序进行排序在return中调换o1和o2的位置即可

##多字段排序
// 对tempUserList排序
// 按照用户类型代表值正序排列
Comparator byRelTypeValue = Comparator.comparing(MobileUserVO::getUserType);
// 根据最后发现时间倒叙排序
Comparator byLastTime = Comparator.comparing(MobileUserVO::getLastTime).reversed();
// 多字段排序,现根据用户类型代表值排序再按照最后发现时间排序
Comparator finalComparator = byRelTypeValue.thenComparing(byLastTime);
List ownerResultList = tempUserList.stream().sorted(finalComparator).collect(Collectors.toList());

你可能感兴趣的:(java集合多字段排序)