<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      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 管先飛 閱讀(263) 評論(0)  編輯  收藏 所屬分類: Java技術andriod開發
    主站蜘蛛池模板: 男男AV纯肉无码免费播放无码| 国产午夜精品免费一区二区三区| 最近中文字幕国语免费完整 | 在线观看永久免费视频网站| 亚洲a级成人片在线观看| 亚洲AV成人一区二区三区观看| 亚洲高清中文字幕免费| 亚洲午夜精品一区二区公牛电影院 | 99久久99热精品免费观看国产| 亚洲精品成人无限看| AAA日本高清在线播放免费观看| 亚洲伊人久久精品影院| 91亚洲精品麻豆| 波多野结衣免费在线观看| 亚洲视频免费在线看| 青青青免费国产在线视频小草| 亚洲欧洲日本精品| 最近免费中文字幕4| 久久久久无码精品亚洲日韩| 久9热免费精品视频在线观看| 亚洲精品综合一二三区在线| 在线看片免费人成视久网| 亚洲mv国产精品mv日本mv| 成年在线网站免费观看无广告| 亚洲日韩亚洲另类激情文学| 国产公开免费人成视频| 一级做a爰片久久毛片免费看 | 亚洲av片不卡无码久久| 免费看的一级毛片| 色吊丝性永久免费看码| 午夜私人影院免费体验区| 美女黄色毛片免费看| 亚洲欧洲日产国码无码网站 | 亚洲综合久久综合激情久久| 一二三四在线播放免费观看中文版视频| 亚洲人成色在线观看| 亚洲中文字幕第一页在线| 精品熟女少妇av免费久久| 亚洲高清乱码午夜电影网| 国产亚洲精品xxx| 无人在线观看完整免费版视频|