如何将list集合转成树形格式?

有关联关系

查询出全部的问题,通过关联关系判断。
案例:
实体类中添加小问题集合;

@Transient //使用mybatisCodeHelper生成代码忽略
    @TableField(exist = false)//忽略实体映射
    private List<SysInquiry> inquiries = new ArrayList<>();

控制层组装;

    //格式转化
    private static void listTree(List<SysInquiry> list){
        //用来存储需要删除的小问题
        List<SysInquiry> sysInquiries = new ArrayList<>();
        //小问题添加到大问题中
        list.forEach(sysInquiryMin -> {
            //判断是不是小问题
            if(sysInquiryMin.getFid()!=0){
                //查找小问题对应的大问题
                list.forEach(sysInquiryMax -> {
                    if(Long.valueOf(sysInquiryMin.getFid())==sysInquiryMax.getId()){
                        //大问题的小问题集合中添加该小问题对象
                        sysInquiryMax.getInquiries().add(sysInquiryMin);
                        //将该小问题添加到删除集合中
                        sysInquiries.add(sysInquiryMin);
                    }
                });
            }
        });
        //全部问题中删除子问题
        sysInquiries.forEach(sysInquiry -> {
            list.remove(sysInquiry);
        });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值