java 处理多字段排序
1. java单字段处理方法
可以使用java中java.util.List类中字段的sort方法,默认的是递增。
list.sort(comparing(BaseVO::getCreateTime));
如果要改成递减
list.sort(comparing(BaseVO::getCreateTime)).reversed();
2. java多字段处理方法
多个字段排序,默认都是递增。
list.sort(comparing(OrgVO::getOrderNum)
.thenComparing(OrgVO::getCreateTime)
);
如果要改递减
list.sort(comparing(OrgVO::getOrderNum)
.thenComparing(OrgVO::getCreateTime).reversed()
);
3. 解决有null值的排序问题
如果null值排末尾
list.sort(comparing(OrgVO::getOrderNum, Comparator.nullsLast(Integer::compareTo)));
如果null值排最前
list.sort(comparing(OrgVO::getOrderNum, Comparator.nullsFirst(Integer::compareTo)));
多字段null值排序
list.sort(comparing(OrgVO::getOrderNum, Comparator.nullsLast(Integer::compareTo))
.thenComparing(OrgVO::getCreateTime).reversed()
);