Java8-用Lambda表达式给List集合排序

        String createTime1 = "2018-12-13 12:10:10.120";
        String createTime2 = "2018-11-12 14:10:10.120";
        String createTime3 = "2018-10-12 12:10:10.120";
        String createTime4 = "2018-12-12 19:10:10.120";
        String createTime5 = "2018-05-12 18:10:10.120";
        String createTime6 = "2018-11-01 15:10:10.120";
        String createTime7 = "2018-10-01 13:10:10.120";
        String format1 = LocalDateTime.parse(createTime1.substring(0, createTime1.indexOf(".")).replace(" ", "T")).format(DF);
        String format2 = LocalDateTime.parse(createTime2.substring(0, createTime2.indexOf(".")).replace(" ", "T")).format(DF);
        String format3 = LocalDateTime.parse(createTime3.substring(0, createTime3.indexOf(".")).replace(" ", "T")).format(DF);
        String format4 = LocalDateTime.parse(createTime4.substring(0, createTime4.indexOf(".")).replace(" ", "T")).format(DF);
        String format5 = LocalDateTime.parse(createTime5.substring(0, createTime5.indexOf(".")).replace(" ", "T")).format(DF);
        String format6 = LocalDateTime.parse(createTime6.substring(0, createTime6.indexOf(".")).replace(" ", "T")).format(DF);
        String format7 = LocalDateTime.parse(createTime7.substring(0, createTime7.indexOf(".")).replace(" ", "T")).format(DF);
        double scoreTime1 = Double.parseDouble("0." + format1);
        double scoreTime2 = Double.parseDouble("0." + format2);
        double scoreTime3 = Double.parseDouble("0." + format3);
        double scoreTime4 = Double.parseDouble("0." + format4);
        double scoreTime5 = Double.parseDouble("0." + format5);
        double scoreTime6 = Double.parseDouble("0." + format6);
        double scoreTime7 = Double.parseDouble("0." + format7);
//        System.out.println(scoreTime);
        ExcellentSupplierInfoDto excellentSupplierInfoDto = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto2 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto3 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto4 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto5 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto6 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto7 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto8 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto9 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto10 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto11 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto12 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto13 = new ExcellentSupplierInfoDto();
        ExcellentSupplierInfoDto excellentSupplierInfoDto14 = new ExcellentSupplierInfoDto();
        List<ExcellentSupplierInfoDto> enterPriseSupplierInfoDtoList = new ArrayList<>();
        List<ExcellentSupplierInfoDto> InfoDtoList = new ArrayList<>();
        excellentSupplierInfoDto.setScore(10);
        excellentSupplierInfoDto.setTime(scoreTime1);
        excellentSupplierInfoDto.setLevel(1);
        excellentSupplierInfoDto2.setScore(15);
        excellentSupplierInfoDto2.setTime(scoreTime2);
        excellentSupplierInfoDto2.setLevel(1);
        excellentSupplierInfoDto3.setScore(8);
        excellentSupplierInfoDto3.setTime(scoreTime3);
        excellentSupplierInfoDto3.setLevel(1);
        excellentSupplierInfoDto4.setScore(10);
        excellentSupplierInfoDto4.setTime(scoreTime4);
        excellentSupplierInfoDto4.setLevel(1);
        enterPriseSupplierInfoDtoList.add(excellentSupplierInfoDto);
        enterPriseSupplierInfoDtoList.add(excellentSupplierInfoDto2);
        enterPriseSupplierInfoDtoList.add(excellentSupplierInfoDto3);
        enterPriseSupplierInfoDtoList.add(excellentSupplierInfoDto4);
        excellentSupplierInfoDto5.setScore(2);
        excellentSupplierInfoDto5.setTime(scoreTime5);
        excellentSupplierInfoDto5.setLevel(0);
        excellentSupplierInfoDto6.setScore(6);
        excellentSupplierInfoDto6.setTime(scoreTime6);
        excellentSupplierInfoDto6.setLevel(0);
        excellentSupplierInfoDto7.setScore(9);
        excellentSupplierInfoDto7.setTime(scoreTime7);
        excellentSupplierInfoDto7.setLevel(0);
        excellentSupplierInfoDto8.setScore(20);
        excellentSupplierInfoDto8.setTime(0.1812011013);
        excellentSupplierInfoDto8.setLevel(0);
        excellentSupplierInfoDto9.setScore(4);
        excellentSupplierInfoDto9.setTime(0.1812011015);
        excellentSupplierInfoDto9.setLevel(0);
        excellentSupplierInfoDto10.setScore(89);
        excellentSupplierInfoDto10.setTime(0.1812011016);
        excellentSupplierInfoDto10.setLevel(0);
        excellentSupplierInfoDto11.setScore(5);
        excellentSupplierInfoDto11.setTime(0.1812011017);
        excellentSupplierInfoDto11.setLevel(0);
        excellentSupplierInfoDto12.setScore(8);
        excellentSupplierInfoDto12.setTime(0.1812011017);
        excellentSupplierInfoDto12.setLevel(0);
        excellentSupplierInfoDto13.setScore(12);
        excellentSupplierInfoDto13.setTime(0.1812011011);
        excellentSupplierInfoDto13.setLevel(0);
        excellentSupplierInfoDto14.setScore(20);
        excellentSupplierInfoDto14.setTime(0.1812011018);
        excellentSupplierInfoDto14.setLevel(0);
        InfoDtoList.add(excellentSupplierInfoDto5);
        InfoDtoList.add(excellentSupplierInfoDto6);
        InfoDtoList.add(excellentSupplierInfoDto7);
        InfoDtoList.add(excellentSupplierInfoDto8);
        InfoDtoList.add(excellentSupplierInfoDto9);
        InfoDtoList.add(excellentSupplierInfoDto10);
        InfoDtoList.add(excellentSupplierInfoDto11);
        InfoDtoList.add(excellentSupplierInfoDto12);
        InfoDtoList.add(excellentSupplierInfoDto13);
        InfoDtoList.add(excellentSupplierInfoDto14);

      //先根据score排序,如果score相等再根据time排序

  enterPriseSupplierInfoDtoList = enterPriseSupplierInfoDtoList.stream().sorted(Comparator.comparing(ExcellentSupplierInfoDto::getScore)
                .reversed().thenComparing(ExcellentSupplierInfoDto::getTime)).collect(Collectors.toList());

        System.out.println("已经排序的list:");
        for (ExcellentSupplierInfoDto supplierInfoDto : enterPriseSupplierInfoDtoList) {
            System.out.println(supplierInfoDto.toString());
        }
        System.out.println("未排序的list:");
        for (ExcellentSupplierInfoDto supplierInfo : InfoDtoList) {
            System.out.println(supplierInfo.toString());
        }

        enterPriseSupplierInfoDtoList.addAll(InfoDtoList);
        System.out.println("合并后的排序的list:");
        for (ExcellentSupplierInfoDto supplierInfo : enterPriseSupplierInfoDtoList) {
            System.out.println(supplierInfo.toString());
        }