1、排序
java<Bean>
a. 单属性
listDevs.sort(Comparator.comparing(Developer::getAge));
b. 多属性
//排序
resultList = resultList.stream()
.sorted(
Comparator.comparing(ProjectEfficacyVO::getProjectStatus).reversed()
.thenComparing(ProjectEfficacyVO::getEfficacyTotal)
.thenComparing(ProjectEfficacyVO::getDeptId)
.thenComparing(ProjectEfficacyVO::getProjectManageName)
).collect(Collectors.toList());
注意:排序的方式默认为“升序”,如果需要根据字段进行“降序”,则需要加入reversed()
List<Map>
1. 升序排序
// 按身高升序
List<Map<String, Object>> sortedByHeightAscList =
studentList.stream().sorted(Comparator.comparing(h -> ((BigDecimal) h.get("height"))))
.collect(Collectors.toList());
2. 降序排序
// 按身高降序
List<Map<String, Object>> sortedByHeightDescList =
studentList.stream().sorted((h1, h2) -> ((BigDecimal)h2.get("height")).compareTo((BigDecimal)h1.get("height")))
.collect(Collectors.toList());