package com.lsn.ams;

import com.alibaba.fastjson.JSONArray;
import java.util.*;
import java.util.ArrayList;
import java.util. edHashMap;
import java.util.List;
import java.util.Map;

public class Test {


    public static void main(String[] args) {
        List<Tree> data = new ArrayList<Tree>();

        Tree tree = new Tree();
        tree.setId(\"1\");
        tree.setPid(\"0\");
        tree.setName(\"系统管理\");

        data.add(tree);

        tree = new Tree();

        tree.setId(\"2\");
        tree.setPid(\"1\");
        tree.setName(\"管理员列表\");
        data.add(tree);

        tree = new Tree();
        tree.setId(\"3\");
        tree.setPid(\"2\");
        tree.setName(\"新增管理员\");
        data.add(tree);

        tree = new Tree();
        tree.setPid(\"0\");
        tree.setId(\"4\");
        tree.setName(\"导览管理\");
        data.add(tree);

        tree = new Tree();
        tree.setId(\"5\");
        tree.setPid(\"4\");
        tree.setName(\"POI管理\");
        data.add(tree);


        MenuTree menuTree = new MenuTree();
        List< > list = menuTree.menuList(data);

        System.out.println(JSONArray.toJSON(list));

    }


}


/**
 *
 * 递归类
 */
class MenuTree {

    public static Map<String,  > mapArray = new  edHashMap<String,  >();
    public List<Tree> menuCommon;
    public List< > list = new ArrayList< >();

    public List< > menuList(List<Tree> menu) {

        this.menuCommon = menu;
        for (Tree x : menu) {

            Map<String,  > mapArr = new  edHashMap<String,  >();
            if (x.getPid() == \"0\") {
                mapArr.put(\"id\", x.getId());
                mapArr.put(\"name\", x.getName());
                mapArr.put(\"pid\", x.getPid());
                mapArr.put(\"childList\", menuChild(x.getId()));
                list.add(mapArr);
            }
        }


        return list;
    }

    public List<?> menuChild(String id) {
        List< > lists = new ArrayList< >();
        for (Tree a : menuCommon) {
            Map<String,  > childArray = new  edHashMap<String,  >();
            if (a.getPid() == id) {
                childArray.put(\"id\", a.getId());
                childArray.put(\"name\", a.getName());
                childArray.put(\"pid\", a.getPid());
                childArray.put(\"childList\", menuChild(a.getId()));
                lists.add(childArray);
            }
        }

        return lists;
    }

}

/**
 * 树实体类
 */
class Tree {

    private String id;
    private String pid;
    private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPid() {
        return pid;
    }

    public void setPid(String pId) {
        this.pid = pId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return \"Tree [id=\" + id + \", pid=\" + pid + \", name=\" + name + \"]\";
    }

}
收藏 打印