繁体   English   中英

将pojo类列表转换为Jdom树?

[英]Converting a List of pojo Class to a Jdom Tree?

我有一个POJO类调用LEVEL和他的类如下:

    0,1
    ------------|
    |           |
    |           |
   \|/          |   
  level-<>-------

换句话说:

public class Level
{
 private int id;
 private int label;
 private Set<Level> labels;
 private Level parent;
 ...
 }

我有一个方法从数据库中检索List<Level>中的所有List<Level>

我希望jdom表示(使用org.jdom api)一个树(就像你的目录的树一样)

LEVEl 1
+++LEVEL 2
++++++LEVEL 3
LEVEL 4
LEVEL 5

我知道算法必须是递归的。

你有任何解决方案吗? 有什么工具可以将java类转换为jdom树吗?

我不知道任何图书馆会完全符合您的要求。


您的班级水平是正确的,但不是唯一的选择。 您还可以添加属性Set<Level> children 您可以保留parent链接(双向关系,或多对一关系)。

这可能会让你的树形结构更加自然......


例如,如果您使用的是像Hibernate这样的ORM ,那么您可以找到第一级实例(在您从Hibernate接收的列表中),并且您已经拥有了您的树,只需忽略其他实例。


否则,算法解决方案可能是:

  1. 将所有实例放在unprocessed列表中
  2. 找到没有父项的未处理的所有实例; 将它们添加到树中,从未处理中删除它们。
  3. 循环如下:
    • 发现未处理的所有实例,有他们的父母在树(如果树没有一个有效的执行contains ,您可以使用临时设置此)。
    • 将它们添加到树中,从未处理中删除它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM