关于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());

            }

以上代码可以实现对列表中数据的排序问题

posted @ 2022-12-07 11:24  zh_niu  阅读(1015)  评论(0)    收藏  举报