关于stream().filter方法实现数据排序问题
if("ArrangeGridKJXX".equals(args.get("gridName"))){ Stream<Map<String, Object>> proposalStage = list.stream().filter(s -> "立项阶段".equals(s.get("C_PHASE_NAME"))); Stream<Map<String, Object>> implementStage = list.stream().filter(s -> "实施阶段".equals(s.get("C_PHASE_NAME"))); Stream<Map<String, Object>> checkStage = list.stream().filter(s -> "验收阶段".equals(s.get("C_PHASE_NAME"))); Stream<Map<String, Object>> resultsManagement = list.stream().filter(s -> "成果管理阶段".equals(s.get("C_PHASE_NAME"))); Stream<Map<String, Object>> resultsConversion = list.stream().filter(s -> "成果转化阶段".equals(s.get("C_PHASE_NAME"))); Stream<Map<String, Object>> typeName = list.stream().filter(s -> (!"科研案卷".equals(s.get("TYPE_NAME")) && !"科研文件".equals(s.get("TYPE_NAME"))) || StringUtils.isEmpty((String)s.get("C_PHASE_NAME"))); Stream<Map<String, Object>> concatA = Stream.concat(proposalStage, implementStage); Stream<Map<String, Object>> concatB = Stream.concat(concatA, checkStage); Stream<Map<String, Object>> concatC = Stream.concat(concatB, resultsManagement); Stream<Map<String, Object>> concatD = Stream.concat(concatC, resultsConversion); list = Stream.concat(concatD, typeName).collect(Collectors.toList()); }
以上代码可以实现对列表中数据的排序问题

浙公网安备 33010602011771号