1.通过原生,重写sort比较器
String通过ascii码值比较,小的在前,datetime通过时间比较,老的在前
public void sortProjectTechnicianList(List<ProjectTechnicianRow> projectTechnicianRows) {
projectTechnicianRows.sort((o1, o2) -> {
int cmp = o1.getCustomerName().compareTo(o2.getCustomerName());
if (cmp == 0) {
cmp = o1.getProjectName().compareTo(o2.getProjectName());
if (cmp == 0) {
cmp = o1.getBelongCompany().compareTo(o2.getBelongCompany());
if (cmp == 0) {
cmp = o1.getTechnicianId().compareTo(o2.getTechnicianId());
if (cmp == 0) {
cmp = o1.getCreateTime().compareTo(o2.getCreateTime());
}
}
}
}
return cmp;
});
}
2.Comparator比较器,简单地通过项目名称进行排序
basicProjectEntities.sort(Comparator.comparing(BasicProjectEntity::getProjectName));
它的老版本写法是
Collections.sort(basicProjectEntities, new Comparator<BasicProjectEntity>() {
@Override
public int compare(BasicProjectEntity p1, BasicProjectEntity p2) {
return p1.getProjectName().compareTo(p2.getProjectName());
}
});