对于下面的类组成的树形结构,用什么方式编码(生成字符串存储)和解码(还原树形结构)比较好?

树形都在数据库中存储的有原始数据,每个节点只需要保存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.如果每个对象(一个数元素,包括父节点)
这样可以考虑多条记录组装一棵树;貌似这样更好.

不太明白你的意思.? 能说具体点吗?

额,说的是编码问题呀。可以考虑下自适应霍夫曼