构造树结构 可用于行政区域

2017-12-14  本文已影响0人  whiteList
使用根节点遍历下级新政区域
private Node dealTree(Node rootNode) {
       //创建子节点list
       rootNode.setChildren(new ArrayList<Object>());
       //获取所有子节点
       List childTreeNodes = yourService.queryTreeNode(rootNode); 
       //遍历子节点
        for (Node  child : options) {
            Node  n = dealTree(child); //递归
           rootNode.getChildren().add(n); 
        }
        return rootNode;
    }
使用下级递归上级新政区域
private void dealTreeByChild(Node node) {
//获取当前的父节点
Node parentNode= carHireRegionDao.getParentNode(node);
if(parentNode == null){
return;
}
//使用一个全局变量可以是localThread 来存储  最后可以过滤这map取最后一级
Node parentTe = hashMap.get(parentNode);
if (parentTe == null) {
hashMap.put(key, parentNode);
}
if (CollectionUtils.isEmpty(parentNode.getChildren())) {
parent.setChildren(new ArrayList<Option<String>>());
}
dealTreeByChild(parentNode);
parent.getChildren().add(node);
}
上一篇 下一篇

猜你喜欢

热点阅读