package com.doria.learnProject.mongodb;
import com.doria.learnProject.mongodb.pojo.CompanyInfo;
import com.doria.learnProject.mongodb.pojo.User;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class Psvm {
public static void main2(String[] args) {
ArrayList<CompanyInfo> companyInfos = new ArrayList<>();
for (int i = 0; i < 10; i++) {
CompanyInfo companyInfo = new CompanyInfo();
companyInfo.setCompanyId((long) i);
companyInfos.add(companyInfo);
}
companyInfos.forEach(System.out::println);
//排序
companyInfos.sort((o1, o2) -> {
if (Objects.equals(o1.getCompanyId(), o2.getCompanyId()))
return 0;
return o2.getCompanyId().compareTo(o1.getCompanyId());
});
companyInfos.forEach(System.out::println);
}
public static void main(String[] args) throws ParseException {
Random ran = new Random();
// 获取测试数据
List<User> users = new ArrayList<>();
for (int i = 0; i < 10; i++) {
User user = new User();
user.setId(ran.nextLong());
// 获取不同的时间
user.setTime("17:0"+i);
users.add(user);
}
// 排序前打印
users.forEach(System.out::println);
// 排序
users.sort((o1, o2) -> {
// 格式化
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
// 如果相同不处理
if (o1.getTime().equals(o2.getTime()))
return 0;
try {
// 对调o2&o1顺序改变改变排序顺序
return sdf.parse(o2.getTime()).compareTo(sdf.parse(o1.getTime()));
} catch (ParseException e) {
e.printStackTrace();
// 如果出错不处理
return 0;
}
});
users.forEach(System.out::println);
}
}
笔记-记录一个重写compareTo排序
最新推荐文章于 2023-08-23 16:22:48 发布