树形都在数据库中存储的有原始数据,每个节点只需要保存ID即可
[b]package com.eap.entity.report;
import java.util.ArrayList;
import java.util.List;
public class Remark implements Comparable {
// ID
private int id;
// 维度号
private int dimensionalityNo;
// 该评语内容
private String content;
// 是否有子节点标识
private int subNodeRelation;
// 子节点列表
private List<Remark> subRemark;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getDimensionalityNo() {
return dimensionalityNo;
}
public void setDimensionalityNo(int dimensionalityNo) {
this.dimensionalityNo = dimensionalityNo;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSubNodeRelation() {
return subNodeRelation;
}
public void setSubNodeRelation(int subNodeRelation) {
this.subNodeRelation = subNodeRelation;
}
public List<Remark> getSubRemark() {
if (subRemark == null)
subRemark = new ArrayList<Remark>();
return subRemark;
}
public void setSubRemark(List<Remark> subRemark) {
this.subRemark = subRemark;
}
public int compareTo(Object arg0) {
// TODO Auto-generated method stub
Remark r = (Remark) arg0;
if (r.getId() > id)
return 0;
return 1;
}
}[/b]
[b]问题补充:[/b]
每一个对象对应数据库中的一条数据,主键是ID,应用中生成了一个树形结构(每一个对象是一个节点,同时这个对象有对个子对象作为子节点),现在需要存储这个树形结构,也就是对这个树进行编码然后存储成一个字符串,当需要这个树形结构信息的时候,再通过编码生成的字符串构造树,然后通过每个节点的ID从数据库中获取内容
我的问题是:通过什么样的方法对树形结构进行编码效率最优化
1.如果每个对象(一棵树)是一条记录;这样存储的话;
可以考虑XML保存;然后根据XML生成对象;
2.如果每个对象(一个数元素,包括父节点)
这样可以考虑多条记录组装一棵树;貌似这样更好.
不太明白你的意思.? 能说具体点吗?
额,说的是编码问题呀。可以考虑下自适应霍夫曼