程序员

注册

 

发新话题 回复该主题

CSDN博客列表转树非常实用 [复制链接]

1#
白癜风形成的原因 http://pf.39.net/bdfyy/dbfzl/160319/4793246.html

在开放过程中碰到许多需要组合成树的数据,会让我们比较头疼,下面公开一种比较实用的方法,希望能帮助到需要帮助的人。

话不多说上代码:下面这个是转树的方法。

/***列表转树(包含根节点)*

paramlist*

return*/

OverridepublicTreegetTreeFromList(ListTreelist){Treeresult=null;if(list!=nulllist.size()0){for(Treeost){if(o.getId().equals(o.getParentId())){result=o;}for(Treepst){if(p.getId().equals(p.getParentId())){continue;}if(Objects.equals(p.getParentId(),o.getId())){ListTreechildren=o.getChildren();if(children==null){children=newArrayList();o.setChildren(children);}o.getChildren().add(p);}}}}returnresult;}/***列表转树列表(不包含根节点)*

paramlist*

return*/

OverridepublicListTreegetTreeListFromList(ListTreelist){ListTreeresult=Lists.newArrayList();if(list!=nulllist.size()0){for(Treeost){if(o.getParentId().equals("1")){result.add(o);}for(Treepst){if(p.getId().equals(p.getParentId())){continue;}if(Objects.equals(p.getParentId(),o.getId())){ListTreechildren=o.getChildren();if(children==null){children=newArrayList();o.setChildren(children);}o.getChildren().add(p);}}}}returnresult;}

这是所需要的通用实体。

Getter

SetterpublicclassTree{

ApiModelProperty("ID")privateStringid;

ApiModelProperty("节点名称")privateStringlabel;

ApiModelProperty("父节点id")privateStringparentId;

ApiModelProperty("子节点列表")privateListTreechildren;}

以上就是列表转树的代码。

有些坑不得不踩,有些事不得不做,希望能通过分享互相进步,走过这段平凡的路。

Rui3g

分享 转发
TOP
发新话题 回复该主题