【求助】如何遍历一个二叉树!(老总快给我逼疯了,急啊) 如何遍历一个二叉树!再把这个二叉树写生个XML!!!救救我吧!朋友们! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你看看这个,兄弟用递归构造。我只给出代码的关键地方,你自己再想想。//构造tree private DefaultMutableTreeNode buildOrgGroupNode(OrgnizationGroup group) { if (group != null) { DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode( group); Collection<OrgnizationGroup> childGroups = group.getChildGroups(); DefaultMutableTreeNode childNode; if (childGroups != null) { for(OrgnizationGroup childGroup : childGroups) { childNode = buildOrgGroupNode(childGroup); if (childNode != null) { parentNode.add(childNode); } } } return parentNode; } return null; }//----------------------------OrgnizationGroup 类-------给你代码的片断,也可以加一些别的信息public class OrgnizationGroup extends Organization { //上级组织 private OrgnizationGroup parentGroup; //下级组织集合 private List<OrgnizationMember> members; //下级成员集合 private List<OrgnizationGroup> childGroups; /** * @return Returns the parentGroup. */ public OrgnizationGroup getParentGroup() { return parentGroup; } /** * @param parentGroup The parentGroup to set. */ public void setParentGroup(OrgnizationGroup parentGroup) { this.parentGroup = parentGroup; } /** * @return Returns the members. */ public List<OrgnizationMember> getMembers() { return members; } /** * @param members The members to set. */ public void setMembers(List<OrgnizationMember> members) { this.members = members; } /** * @return Returns the childGroups. */ public List<OrgnizationGroup> getChildGroups() { return childGroups; } /** * @param childGroups The childGroups to set. */ public void setChildGroups(List<OrgnizationGroup> childGroups) { this.childGroups = childGroups; }}//---------------------Organization 基类,用于存放一些最基础的信息,省的每个类都写//了。public class Organization implements Serializable { protected int id; protected String name;//自己写一下get和set方法吧} 对了,我没有写到xml里,你自己写吧~ 使用复合模式来写树,用iterator来遍历。生成XML可以用jdom.或者,用xmlrpc也可以,就是需要自己写一个transport. RandomAccessFile怎么解决中文乱码? Java RMI 急死了,帮帮忙吧 JAVA的端口扫描程序 编码新发现 请教一下:在Java中计算汉字长度的问题? 哪位高手能介绍一下Prefix-caching算法? 急!在动态改变了jTree的节点后,如何实时刷新jTree? 如何获得某个显示区域某个点的颜色 请问:Java开发数据库应用软件合适吗? 编译成功,但是没有输出结果这时哪里出错了? 求解:scjp的题目 为什么点了开始的按扭就停不下来
//构造tree
private DefaultMutableTreeNode buildOrgGroupNode(OrgnizationGroup group) {
if (group != null) {
DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode(
group);
Collection<OrgnizationGroup> childGroups = group.getChildGroups();
DefaultMutableTreeNode childNode;
if (childGroups != null) {
for(OrgnizationGroup childGroup : childGroups) {
childNode = buildOrgGroupNode(childGroup);
if (childNode != null) {
parentNode.add(childNode);
}
}
} return parentNode;
} return null;
}
//----------------------------OrgnizationGroup 类-------给你代码的片断,也可以加一些别的信息
public class OrgnizationGroup extends Organization {
//上级组织
private OrgnizationGroup parentGroup; //下级组织集合
private List<OrgnizationMember> members; //下级成员集合
private List<OrgnizationGroup> childGroups;
/**
* @return Returns the parentGroup.
*/
public OrgnizationGroup getParentGroup() {
return parentGroup;
} /**
* @param parentGroup The parentGroup to set.
*/
public void setParentGroup(OrgnizationGroup parentGroup) {
this.parentGroup = parentGroup;
} /**
* @return Returns the members.
*/
public List<OrgnizationMember> getMembers() {
return members;
} /**
* @param members The members to set.
*/
public void setMembers(List<OrgnizationMember> members) {
this.members = members;
}
/**
* @return Returns the childGroups.
*/
public List<OrgnizationGroup> getChildGroups() {
return childGroups;
} /**
* @param childGroups The childGroups to set.
*/
public void setChildGroups(List<OrgnizationGroup> childGroups) {
this.childGroups = childGroups;
}
}//---------------------Organization 基类,用于存放一些最基础的信息,省的每个类都写
//了。
public class Organization implements Serializable {
protected int id; protected String name;
//自己写一下get和set方法吧
}