1、map根据value值排序
Map<Integer,Integer> eduWeight = new LinkedHashMap<>();
Map<Integer,Integer> eduWeightSort = new LinkedHashMap<>();
// comparingByValue:是根据map的value值排序
// Comparator.reverseOrder():是从大到小的倒序排序
eduWeight.entrySet().stream().sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
.forEachOrdered(x -> eduWeightSort.put(x.getKey(),x.getValue()));
2、list排序
// 正序排序
List<EduWeight> eduWeightListSort = eduWeightList.stream().sorted(Comparator.comparingLong(EduWeight::getTimeTypeLong)).collect(Collectors.toList());
// 倒序排序,关键方法:.reversed()
List<EduWeight> eduWeightListSort = eduWeightList.stream().sorted(Comparator.comparingInt(EduWeight::getWeight).reversed()).collect(Collectors.toList());
// 先正序,再倒序
List coursesClassnameSort = coursesClassname.stream()
.sorted(Comparator.comparingInt(CourseProfile::getOrderNum)
.thenComparing(CourseProfile::getPurchases,Comparator.reverseOrder())).collect(Collectors.toList())