Java8按某个字段排序
1 @Test 2 public void sorted() { 3 EmployDO emp = EmployDO.builder().age("18").name("张小华").sex("男").position("服务员").build(); 4 EmployDO emp2 = EmployDO.builder().age("20").name("张松月").sex("女").position("服务员").build(); 5 EmployDO emp3 = EmployDO.builder().age("30").name("李桂芝").sex("女").position("服务员").build(); 6 EmployDO emp4 = EmployDO.builder().age("26").name("宋倩").sex("女").position("服务员").build(); 7 EmployDO emp5 = EmployDO.builder().age("12").name("徐盛").sex("男").position("服务员").build(); 8 List<EmployDO> employDOList = Arrays.asList(emp, emp2, emp3, emp4, emp5); 9 // 升序 10 employDOList.stream().sorted(Comparator.comparing(EmployDO::getAge)).collect(Collectors.toList()) 11 .forEach(s -> System.out.print(s.getName() + " ")); 12 System.out.println(" "); 13 // 降序 14 employDOList.stream().sorted(Comparator.comparing(EmployDO::getAge).reversed()) 15 .forEach(s -> System.out.print(s.getName() + " ")); 16 17 }
打印结果:
徐盛 张小华 张松月 宋倩 李桂芝
李桂芝 宋倩 张松月 张小华 徐盛