列行数据处理成树形结构数据

语言 Java
实现内容是一列数据中pid关联父级关系处理成树形结构数据

  • 数据结构
[
    {
        "id": "1",
        "pid": "0",
        "name": "1"
    },
    {
        "id": "2",
        "pid": "1",
        "name": "2"
    },
    {
        "id": "3",
        "pid": "2",
        "name": "3"
    },
    {
        "id": "4",
        "pid": "0",
        "name": "4"
    }
]
  • 方法
//Node就是对应上面数据结构中参数的实体类
public List<Node> formatData(List<Node> nodeList,String pid){
    List<Node> list=new LinkedList<Node>();
    for (Node node:nodeList){
        if (node.getPid().equals(pid)){
            node.setChildren(formatData(nodeList,node.getId()));
            list.add(node);
        }
    }
    return list;
}
  • 调用
    formatData(nodeList,"0") //因为第一级pid为0所以传入0
  • 效果
[
    {
        "id": "1",
        "name": "1",
        "pid": "0",
        "children": [
            {
                "id": "2",
                "name": "2",
                "pid": "1",
                "children": [
                    {
                        "id": "3",
                        "name": "3",
                        "pid": "2",
                        "children": []
                    }
                ]
            }
        ]
    },
    {
        "id": "4",
        "name": "4",
        "pid": "0",
        "children": []
    }
]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。