<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

    2020年9月7日 #


    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 @ 2020-09-07 09:56 管先飛 閱讀(256) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 久久精品亚洲福利| 亚洲成av人在片观看| 亚洲人成电影亚洲人成9999网| 中文字幕一区二区三区免费视频| 亚洲AV成人精品日韩一区18p| 免费视频成人片在线观看| 亚洲男人的天堂www| 久久久高清日本道免费观看| 西西大胆无码视频免费| 亚洲成a人片在线看| 好爽…又高潮了毛片免费看| 亚洲乱人伦中文字幕无码| 久99久精品免费视频热77| 日韩精品亚洲人成在线观看| 日韩视频在线精品视频免费观看| 亚洲色偷拍另类无码专区| 日韩电影免费观看| 亚洲色欲或者高潮影院| 国产成人精品免费大全| 国产精品亚洲аv无码播放| 久久久久免费精品国产小说| 亚洲免费二区三区| 国产精品深夜福利免费观看| h视频在线观看免费| 久久精品国产亚洲精品2020| 日韩视频免费一区二区三区| 特级毛片全部免费播放a一级| 成人毛片免费视频| 日本高清免费中文在线看| 亚洲综合网站色欲色欲| 猫咪免费人成网站在线观看| 亚洲日韩国产二区无码 | 又粗又长又爽又长黄免费视频| 伊伊人成亚洲综合人网7777| 69免费视频大片| 美女视频黄频a免费大全视频| 亚洲熟妇丰满多毛XXXX| 最近中文字幕免费完整| 一级做a爰片久久毛片免费陪 | 久久国产亚洲精品无码| 国产成人高清精品免费鸭子|