使用根节点遍历下级新政区域
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);
}
网友评论