麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

java遞歸菜單樹轉換成pojo對象

2019-11-26 16:01:21
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

  package com.cjonline.foundation.authority.pojo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import com.cjonline.foundation.util.CheckNullEmpty;
/**
 * 實現遞歸的幫助類,最終的結果可以描述成如下:
 * 根(root)
 * --1(子系統1)
 * -----1.1
 * -------1.1.1
 * -------1.1.2
 * ------- ....
 * -----1.2
 * --2(子系統2)
 * -----2.1
 * -------2.1.1
 * -------2.1.2
 * ------- ....
 * -----2.2
 */
public class ModelList implements java.io.Serializable {
    private static final Logger logger = Logger.getLogger(ModelList.class);
    private static final long serialVersionUID = 6384598893693849820L;
    /**
     * model代表當前模塊
     */
    private SysModel model;
    /**
     * models代表當前模塊下面的子模塊,
     */
    private List<ModelList> subList = new ArrayList<ModelList>();
    /**
     * 菜單級別
     */
    private int flag = 0;
    public SysModel getModel() {
        return model;
    }
    public void setModel(SysModel model) {
        this.model = model;
    }
    public List<ModelList> getSubList() {
        return subList;
    }
    public void setSubList(List<ModelList> subList) {
        this.subList = subList;
    }
    public void setFlag(int flag) {
        this.flag = flag;
    }
    public int getFlag() {
        return flag;
    }
    /**
     * 遞歸方法根據傳入的模塊集合形成層級菜單
     */
    @SuppressWarnings("unchecked")
    public ModelList createTree2(List<SysModel> ms) {
        //
        ModelList node = new ModelList();
        ArrayList<SysModel> fu = new ArrayList<SysModel>();// 用來存儲parentId為空的父節點;
        ArrayList<SysModel> childs = new ArrayList<SysModel>();// 用來存儲不是系統的模塊
        // 將系統和模塊菜單分開
        for (Iterator<SysModel> it = ms.iterator(); it.hasNext();) {
            SysModel mode = (SysModel) it.next();
            String parentId = mode.getParentId();
            if (parentId == null || parentId.equals("")) {
                fu.add(mode);
            } else {
                childs.add(mode);
            }
        }
        //由于是多個子系統,首先要找出有多少個子系統
        for (SysModel model : fu) {
            ModelList node1 = new ModelList();
            node1.setFlag(0);
            node1.setModel(model);
            node.subList.add(node1);
            appendChild(node1, childs);
        }
        return node;
    }
    /**
     * node節點 childs為所以系統下的子節點
     */
    public void appendChild(ModelList node, List<SysModel> childs) {
        if (node != null) {
            String systemId = node.getModel().getSystemId();
            String smid = node.getModel().getSysModuleId();
            int flag = node.getFlag();
            if (childs != null && childs.size() > 0) {
                for (SysModel model : childs) {
                    String systemId2 = model.getSystemId();
                    String parentId2 = model.getParentId();
                    if (systemId.equals(systemId2)) {
                        if (parentId2.equals(smid)) {
                            ModelList child = new ModelList();
                            child.setModel(model);
                            child.setFlag(flag + 1);
                            node.getSubList().add(child);
                            appendChild(child, childs);
                        }
                    }
                }
            }
        }
    }
}
 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品亚洲一区二区三区久久 | 成年人在线免费 | 欧美一极视频 | 色妞欧美 | 亚洲免费高清 | 国产一区二区三区撒尿在线 | 牛牛热这里只有精品 | 欧美亚洲一区二区三区四区 | 久久草在线观看视频 | 国产精品视频一区二区噜噜 | 成人在线视频免费观看 | 91精品国产乱码久久久久久久久 | 欧美一级做性受免费大片免费 | 第一区免费在线观看 | 久久最新网址 | 全黄裸片武则天一级第4季 九色p | 好吊色37pao在线观看 | hd极品free性xxx护士人 | 一区二区三区精品国产 | 欧美成人一级片 | 国产毛片网 | av成人在线免费观看 | 久久久涩 | 欧洲伊人网 | 有色视频在线观看 | 国产精品欧美久久久久一区二区 | 9999视频| 日本在线一区二区 | wankzhd| 在线成人一区二区 | 噜噜社| 欧美性受ⅹ╳╳╳黑人a性爽 | 欧美一级高潮 | 一级一级一级一级毛片 | 在线看免电影网站 | 成人在线观看小视频 | 亚洲国产馆 | 久久精品小短片 | www.99久| 色悠悠久久久久 | 一区在线视频观看 |