首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Tree 构造的存储与反转

2013-03-28 
Tree结构的存储与反转作为一个简单的存储我们只需要将id,name,parent_id 存储起来。当然存储很简单,利用递

Tree 结构的存储与反转

作为一个简单的存储我们只需要将id,name,parent_id 存储起来。当然存储很简单,利用递归遍历树结构,存储所有的node就OK.

如果你的tree是动态加载,那么不存在什么问题,你只要根据parent_id 进行检索,进而渲染node就可以了,如果ui要一次将所有的node渲染上去,那么我们该如何将这一条条数据构建成一个tree model?

当然本办法还是有的,我们利用递归也能实现代码 如下:

?

?

private static Node popularTree(Map<Integer,Node> nodesMap,List<Node> nodesList,Node root){for(Node node:nodesList){if(node.getParent_id().equals(root.getId())){root.getChildren().add(node);}else if(nodesMap.containsKey(node.getParent_id())){nodesMap.get(node.getParent_id()).getChildren().add(node);}}return root;}

?这样的话我们就仅仅遍历了2次,但是具体第一种方法会执行多少个循环我也不知道。

?

小记:在我们平时的编程中不一定要按照实际的一些想法来组织数据,我们需要从多个角度来思考,这样话我们的代码执行效率也会有所提高。

热点排行