<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    guanxf

    我的博客:http://blog.sina.com.cn/17learning

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      71 隨筆 :: 1 文章 :: 41 評論 :: 0 Trackbacks

    createTree(1, orgNodeTree, sameOrgNodes, 0);


    @NoArgsConstructor
    @AllArgsConstructor
    @Getter
    @Setter
    public class NodeTree {
    private String pName;
    private String name;
    private int level;
    private List<NodeTree> children;
    }

    private void createTree(int leave, int ind, Map<String, NodeTree> pIndexNodeNameMap, List<NodeVo> childNodes) {
    Map<String, NodeTree> cIndexNodeNameMap = new HashMap();
    //構建樹
    int treeNo = pIndexNodeNameMap.size();
    if (treeNo == 0) {
    return;
    }
    int group = 0;
    for (int i = ind; i < childNodes.size(); i++) {
    NodeVo node = childNodes.get(i);
    long index = node.getId() % treeNo;
    NodeTree pNode = pIndexNodeNameMap.get(index + "");
    List<NodeTree> children = pNode.getChildren();
    if (CollectionUtils.isEmpty(children)) {
    children = new ArrayList();
    }
    if (children.size() > 2) {
    leave++;
    createTree(leave, i, cIndexNodeNameMap, childNodes);
    break;
    } else {
    NodeTree child = new NodeTree();
    child.setLevel(leave);
    child.setPName(pNode.getName());
    child.setName(node.getNodeName());
    children.add(child);
    pNode.setChildren(children);
    cIndexNodeNameMap.put(group + "", child);
    group++;
    }
    }
    }


    private boolean createTree(int level, List<NodeTree> parentNodes, List<NodeVo> childNodes, int beginIndex) {
    //構建樹
    List<NodeTree> nextLevelNodes = new ArrayList<>();
    for (int i = beginIndex; i < childNodes.size(); i++) {
    int parentCount = 1;
    for (NodeTree pNode : parentNodes) {
    List<NodeTree> children = pNode.getChildren();
    if (CollectionUtils.isEmpty(children)) {
    children = new ArrayList();
    pNode.setChildren(children);
    }
    if (children.size() >= 3) {
    if(parentCount >= parentNodes.size()){
    return createTree(++level, nextLevelNodes, childNodes, beginIndex);
    }
    } else {
    if (beginIndex >= childNodes.size()) {
    return true;
    }
    NodeTree child = new NodeTree();
    child.setLevel(level);
    child.setPName(pNode.getName());
    NodeVo node = childNodes.get(beginIndex);
    child.setName(node.getNodeName());
    pNode.getChildren().add(child);
    nextLevelNodes.add(child);
    beginIndex++;
    }
    parentCount++;
    }
    }
    return true;
    }
    posted on 2020-09-07 09:56 管先飛 閱讀(256) 評論(0)  編輯  收藏 所屬分類: Java技術andriod開發(fā)
    主站蜘蛛池模板: 毛片免费vip会员在线看| 成人嫩草影院免费观看| 亚洲香蕉免费有线视频| 亚洲最大福利视频网站| 国产一级黄片儿免费看| 亚洲午夜国产精品无码 | 在线观看免费人成视频色9| 久久精品国产亚洲AV香蕉| 在线观看免费av网站| 666精品国产精品亚洲| 亚洲精品免费在线| 亚洲高清一区二区三区| 日本黄色免费观看| 亚洲1区2区3区精华液| 免费在线观看污网站| 有码人妻在线免费看片| 亚洲精品无码AV人在线播放| 免费的全黄一级录像带| 精品亚洲国产成AV人片传媒| 最新欧洲大片免费在线| 亚洲精品乱码久久久久蜜桃 | 免费看大美女大黄大色| 香蕉视频亚洲一级| 亚洲情侣偷拍精品| 毛片在线全部免费观看| 亚洲一区在线视频| 亚洲av无码乱码在线观看野外| 国产免费一区二区三区免费视频| 亚洲成AV人片在线播放无码| 免费观看激色视频网站bd| 亚洲Aⅴ在线无码播放毛片一线天| 亚洲午夜无码片在线观看影院猛 | 国产免费人人看大香伊| 91av免费在线视频| 亚洲成AV人片天堂网无码| 在线看片免费不卡人成视频| 羞羞视频免费网站含羞草| 亚洲国产精品一区| 四虎影视精品永久免费网站| a视频在线免费观看| 亚洲日本天堂在线|