父子关系的节点进行排成Tree所需的数据
2018-01-08 09:17
302 查看
1 具有父子关系的节点。就是一个一个的bean类。可以设置为如下方式。具有child属性。是List类型的
如:public class TestNode {
private String parentId;
private String id;
private List<TestNode> child;
public TestNode() {
super();
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public List<TestNode> getChild() {
return child;
}
public void setChild(List<TestNode> child) {
this.child = child;
}
public void addChild(TestNode node){
if(this.child==null){
this.child=new ArrayList<TestNode>();
}
this.child.add(node);
}
}
2 将具有父子关系的节点排成Tree所需的数据。需要将这些节点进行排序。设置为child格式的那种。方法是现将这些数据一个一个的加入到map和map_中。然后再讲map_中的节点一个一个的取出来。一个一个的添加到map中的父节点中。
如:Map<String,TestNode> map=new HashMap<String,TestNode>();
Map<String,TestNode> map_=new HashMap<String,TestNode>();
for(int i=0;i<list.size();i++){
TestNode node=list.get(i);
map.put(node.getId(),node);//添加到map中
map_.put(node.getId(),node);//添加到map_中
}
map.put("/",new TestNode());
Iterator iterator=map_.keySet().iterator();
while(iterator.hasNext()){//将map_中的节点一个一个的取出来。放入map中的父节点中。
String key=iterator.next().toString();
TestNode node=map_.get(key);
String parentId=node.getParentId();
TestNode parentNode=map.get(parentId);
parentNode.addChild(node);
}
return map.get("/").getChild().get(0);
3 如何将根节点(具有父子节点的)转化为String类型。就是先转化为JSON类型。然后toString()类型
如:TestNode node_root=new TestMain1().dedaoTree(list);//返回的是具有父子关系的节点。
System.out.println(JSONObject.fromObject(node_root).toString());
4 如何将父子关系的节点进行排成为Tree所需的数据。首要一步是该节点(bean类)具有parentId,id,child属性。还有addChild方法。如1所示。
如:public class TestNode {
private String parentId;
private String id;
private List<TestNode> child;
public TestNode() {
super();
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public List<TestNode> getChild() {
return child;
}
public void setChild(List<TestNode> child) {
this.child = child;
}
public void addChild(TestNode node){
if(this.child==null){
this.child=new ArrayList<TestNode>();
}
this.child.add(node);
}
}
2 将具有父子关系的节点排成Tree所需的数据。需要将这些节点进行排序。设置为child格式的那种。方法是现将这些数据一个一个的加入到map和map_中。然后再讲map_中的节点一个一个的取出来。一个一个的添加到map中的父节点中。
如:Map<String,TestNode> map=new HashMap<String,TestNode>();
Map<String,TestNode> map_=new HashMap<String,TestNode>();
for(int i=0;i<list.size();i++){
TestNode node=list.get(i);
map.put(node.getId(),node);//添加到map中
map_.put(node.getId(),node);//添加到map_中
}
map.put("/",new TestNode());
Iterator iterator=map_.keySet().iterator();
while(iterator.hasNext()){//将map_中的节点一个一个的取出来。放入map中的父节点中。
String key=iterator.next().toString();
TestNode node=map_.get(key);
String parentId=node.getParentId();
TestNode parentNode=map.get(parentId);
parentNode.addChild(node);
}
return map.get("/").getChild().get(0);
3 如何将根节点(具有父子节点的)转化为String类型。就是先转化为JSON类型。然后toString()类型
如:TestNode node_root=new TestMain1().dedaoTree(list);//返回的是具有父子关系的节点。
System.out.println(JSONObject.fromObject(node_root).toString());
4 如何将父子关系的节点进行排成为Tree所需的数据。首要一步是该节点(bean类)具有parentId,id,child属性。还有addChild方法。如1所示。
相关文章推荐
- aceAdmin fuelux tree 从后台获取数据,并设置节点ID等属性
- tree型的json数据按照json的某个字段对子节点进行排序
- SSH+Ext左侧tree右侧grid,点击左侧tree节点右侧grid数据动态加载和分页问题
- List数据按照树状结构(tree)进行排序
- 数据结构实验4---用HuffmanTree进行编码、译码
- easyui-tree自动勾选指定的节点checkbox(回绑数据)
- C# 对 App.config的appSettings节点数据进行加密
- 如何用XSL对XML的数据进行按节点排序?
- extjs4.0 treepanel节点的选中、展开! 数据的重新加载! checked树
- 在Flex中让Tree绑定数据后自动展开树节点
- 如何用Google APIs和Google的应用系统进行集成(7)----在把JSON转换成XML数据过程中,JSON数据中包含违背XML数据规范:XML节点名不支持数字的Java解决方案
- 处理:SqlServer FOR XML 无法对节点 'NoName' 的数据进行序列化,因为它包含在 XML 中不允许出现的字符(0x0000)。
- easyUI 加载parent/child节点到tree 转换tree标准格式数据
- 77.对单项链表节点数据为偶数进行累加
- ext TreePanel 一次递归加载数据及异步加载数据(点子节点加载数据)
- Flex中在Tree绑定数据后自动展开树节点的方法
- EasyUI中tree,Datagrid,pagenation的使用EasyUI中Datagrid和pagenation进行关联时,再次点击pagenation时让表格数据显示的问题
- 后台实现fancytree遍历节点数据
- elementui tree查询数据怎样显示当前节点的所有子节点
- C# 对 App.config的appSettings节点数据进行加密