使用stream流对数据进行处理

1. 使用场景

本次使用是通过条件查询出所需要的多个字段后,对其进行处理(一个条件查询多个下拉框内容,并对每个下拉框内容封装对象,进行返回)

2. 代码

点击查看代码
//获取所有需要的数据
List<User> user= userService.getByName(command.getName());

//新建一个list用于存放处理过的数据
List<CustomerCode> codeList = new ArrayList<>();
      //使用流转成map,循环塞值,把每一个有值的实体类放入list中,最后转成list集合
        user.stream().map(users -> {
            CustomerCode code = new CustomerCode();
            if (Objects.nonNull(conditions.getCustomerCodeName())) {
                code.setId(conditions.getCustomerCodeId());
                code.setName(conditions.getCustomerCodeName());
                codeList.add(code);
            }
            return code;
        }).collect(Collectors.toList());
        //新建list,对已经存入值的list进行去重
        List<CustomerCode> codes = new ArrayList<>();
        //判断list是否为空,必须判断是否为空,否则这里会报错
        if (codeList.size() > 0) {
            //使用treeset通过name对list进行去重
            codes = codeList.stream().collect(Collectors.collectingAndThen(
                    Collectors.toCollection(() -> new TreeSet<>(
                            Comparator.comparing(
                                    CustomerCode::getName))), ArrayList::new));
        }
---------------end-----本次是通过一个条件查询出五个下拉框所需数据,并对其进行分处理,返回五个下拉框的内容--------------
posted @   歳月  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示