以下是代码优化后的版本:

public static Map<String, Map<String, ComputeResultExportDTO>> getTotalRankingMap(final List computeResultExports) { return computeResultExports.stream() .filter(DistinctKeyUtil.distinctByKey(ComputeResultExportDTO::getEmpCode)) .collect(Collectors.groupingBy(ComputeResultExportDTO::getIdentity, LinkedHashMap::new, Collectors.collectingAndThen(Collectors.toList(), item -> { final AtomicInteger atomicInteger = new AtomicInteger(); return item.stream() .sorted(Comparator.comparing(ComputeResultExportDTO::getTotalScore).reversed()) .peek(map -> map.setNum(atomicInteger.incrementAndGet())) .collect(Collectors.toList()); }))) .entrySet() .stream() .collect(Collectors.toMap(Map.Entry::getKey, item -> item.getValue().stream() .collect(Collectors.toMap(ComputeResultExportDTO::getEmpName, Function.identity(), (o, n) -> o)), (o, n) -> o, LinkedHashMap::new));

代码优化 public static MapString MapString ComputeResultExportDTO getTotalRankingMapfinal ListComputeResultExportDTO computeResultExports return CollectionUtilsemptyIfNullcomputeResultExports

原文地址: http://www.cveoy.top/t/topic/i1PP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录