树形列表结构

 

命题要求:将如下表中前两个数字字符相同的,并且后两个不为00的归为在00的子节点,形成树形结构

 

 

核心源码:

private List<TypeTree> listToTree(List<Integer> typeNumList,List<TypePolicy> list , int pid ){
        List<TypeTree> typeTrees = new ArrayList<>();
        for(int i = 0 ; i<list.size() ; i++) {
            if (list.get(i).getPid() == pid) {
                TypeTree typeTree = new TypeTree();
                typeTree.setId(list.get(i).getId());
                typeTree.setLabel(list.get(i).getType()+"("+typeNumList.get(i)+")");
                typeTree.setChildren(listToTree(typeNumList,list,list.get(i).getId()));
                typeTrees.add(typeTree);
            }
        }
        return typeTrees;
    }

  

这里我用到了递归的思想

最终效果

 

posted @ 2022-10-27 15:01  枫浔  阅读(113)  评论(0)    收藏  举报