使用Stream流进行遍历和操作可以替代使用forEach方法。以下是使用Stream流重写的代码:\n\nfinal List computeResultExportDTOS = levelSubtotal.keySet().stream()\n .flatMap(empNameAndCode -> {\n final Map<String, List> scoreItemLevelSubtotal = levelSubtotal.get(empNameAndCode);\n return scoreItemLevelSubtotal.keySet().stream().map(levelName -> {\n final String id = IdUtil.fastUUID();\n final List bigDecimals = scoreItemLevelSubtotal.get(levelName);\n return bigDecimals.stream().map(bigDecimal -> {\n final ComputeResultExportDTO computeResultExportDTO = new ComputeResultExportDTO();\n computeResultExportDTO.setExamineEvaluationId(id);\n final String[] empNameAndCodes = StringUtils.split(empNameAndCode, Constants.SPLIT_FLAG);\n computeResultExportDTO.setEmpCode(empNameAndCodes[1]);\n computeResultExportDTO.setEmpName(empNameAndCodes[0]);\n computeResultExportDTO.setLevelName("级别小计");\n computeResultExportDTO.setLevelGroup(levelName);\n return computeResultExportDTO;\n });\n }).flatMap(Function.identity());\n })\n .collect(Collectors.toList());\n\nreturn computeResultExportDTOS;

使用Stream流优化计算结果导出DTO列表

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

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