<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();
    //構(gòu)建樹
    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) {
    //構(gòu)建樹
    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技術(shù) 、andriod開發(fā)
    主站蜘蛛池模板: 国内精品免费视频精选在线观看 | 亚洲精品无码久久久久| 在线永久免费的视频草莓| 免费在线观看自拍性爱视频| 亚洲黄色免费网站| 中文字幕亚洲天堂| 天天看免费高清影视| 久久久久久国产精品免费无码| 免费人成网上在线观看| 免费播放美女一级毛片| 亚洲av极品无码专区在线观看| 亚洲精品成人无限看| 精品亚洲综合在线第一区| 亚洲人成影院在线无码观看| 成年性午夜免费视频网站不卡 | 精品日韩99亚洲的在线发布| 91午夜精品亚洲一区二区三区| 中文字幕亚洲无线码a| 永久免费av无码网站大全| 国产四虎免费精品视频| 99国产精品永久免费视频| 久久久久国色AV免费观看性色| 一级毛片免费观看不卡的| 成人免费ā片在线观看| 免费国产高清毛不卡片基地| 一级毛片高清免费播放| 男男gay做爽爽免费视频| 一个人看的免费观看日本视频www| xxxx日本在线播放免费不卡| 国产免费拔擦拔擦8X高清在线人| 免费播放一区二区三区| 小日子的在线观看免费| 在线永久看片免费的视频| 国产v片免费播放| 国产乱子伦精品免费女| 久久精品国产亚洲一区二区三区| 亚洲A∨无码一区二区三区| 亚洲国产精品一区第二页 | 亚洲熟妇少妇任你躁在线观看无码 | 亚洲精品永久在线观看| 亚洲人成网站色在线观看|