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

2018-11-27  本文已影响0人  伱个大西瓜

语言 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;
}
[
    {
        "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": []
    }
]
上一篇 下一篇

猜你喜欢

热点阅读