Java递归删除树结构数据

来源:互联网 发布:Sql日期转换 编辑:程序博客网 时间:2024/06/11 06:12

分享一个Java使用递归删除树结构数据的算法。

存储:每个节点有一个ID属性和ParentID属性

树结构, Node0为根节点:

Node0

    |--Node11

         |-----Node21

         |-----Node22

                  |-------Node31

    |--Node12

         |-----Node23

         |-----Node24

                   |-------Node32

关键代码片段:

public void delete(String id){List<UserGroup> groups=new ArrayList<UserGroup>();  //必须New一个对象。groups=userGroupDao.findSubGroup(id);               //找出子节点for(UserGroup group:groups) {delete(group.getId());}userGroupDao.delete(id);}

调用方法:如果要删除Node0及其下所有节点,只需传入Node0的ID。