Sorted 方法提供了排序的功能,并且允许我们自定义排序,demo 如下:
public void testSorted(){// 学生按照学号排序List<String> beforeCodes = students.stream().map(StudentDTO::getCode).collect(Collectorslog.info("TestSorted 按照学号排序之前 {}",JSON.toJSONString(beforeCodes));List<String> sortedCodes = beforeCodes.stream().sorted().collect(Collectors.toList());log.info("TestSorted 按照学号排序之后 is {}",JSON.toJSONString(sortedCodes));// 直接连起来写List<String> codes = students.stream().map(StudentDTO::getCode)// 等同于 .sorted(Comparator.naturalOrder()) 自然排序.sorted().collect(Collectors.toList());log.info("TestSorted 自然排序 is {}",JSON.toJSONString(codes));// 自定义排序器List<String> codes2 = students.stream().map(StudentDTO::getCode)// 反自然排序.sorted(Comparator.reverseOrder()).collect(Collectors.toList());log.info("TestSorted 反自然排序 is {}",JSON.toJSONString(codes2));}
运行结果如下:
