java树形转换

将树形list转换成list

1.对象

/**
 * @Description TODO
 * @Author pei
 * @Date 2020-11-21 14:39
 */
@Data
public class ConstructionUnitTreeEntity {
    private static final long serialVersionUID = 1L;

    /** 节点ID */
    private String id;

    /** 节点父ID */
    private String parentid;

    /** 节点名称 */
    private String name;

    /** 是否能勾选 */
    private boolean nocheck = false;

    /** 是否是父节点 */
    private String isParent;

    private Integer grade;

    private Integer useFlag;

    private List<ConstructionUnitTreeEntity> children;
}

2.将树形list转换程list

    private List<ConstructionUnitTreeEntity> treeToList(List<ConstructionUnitTreeEntity> treeList){
        List<ConstructionUnitTreeEntity> list = new ArrayList<>(16);
        List<ConstructionUnitTreeEntity> list1 = new ArrayList<>(16);
        String temp;
        for (ConstructionUnitTreeEntity tree :treeList){
            if(tree.getChildren().size()>0){
                list = treeToList(tree.getChildren());
                temp =JSON.toJSONString(tree).substring(JSON.toJSONString(tree).lastIndexOf("],")+2);
                temp = "{".concat(temp);
                ConstructionUnitTreeEntity constructionUnitTreeEntity = JSON.parseObject(temp, ConstructionUnitTreeEntity.class);
                list.add(constructionUnitTreeEntity);
            }else {
                list.add(tree);
            }
            for (ConstructionUnitTreeEntity tr :list){
                int count = 0;
                for (ConstructionUnitTreeEntity sub:list1) {
                    if(sub.getId()!=tr.getId()){
                        count++;
                    }
                }
                if(count ==list1.size()){
                    list1.add(tr);
                }
            }
        }
          return list1;
    }

3.转换前

[图片上传失败.

转换后

[图片上传失败...(image-5bc8f-1606789791359)]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容