读书人

邻接表储存方式(每个结点带父结点ID)获

发布时间: 2012-08-30 09:55:54 作者: rapoo

邻接表存储方式(每个结点带父结点ID)获得树结构

从职称信息表中获得组织架构图结构树:递归实现方法:

?

??? public List<OrganizationTree> getChildren(Title fatherNode,??????????? List<Title> listTitleInfo) {??????? List<OrganizationTree> treeList = new ArrayList<OrganizationTree>();??????? for (Title titleInfo : listTitleInfo) {??????????? if (titleInfo.getParentsNumber().equals(fatherNode.getTitlNumber())) {??????????????? List<SysUser> listUserInfo = userService.getUserByTitleBaseNum(??????????????????????? titleInfo.getBaseNumber(), titleInfo.getTitlNumber());??????????????? OrganizationTree node = new OrganizationTree();??????????????? if (titleInfo.getIsLeaf().equals("0")) { // 是否有孩子结点??????????????????? node.setId(titleInfo.getTitlNumber());??????????????????? node.setName(titleInfo.getName());??????????????????? node.setData(listUserInfo.get(0));??????????????????? node.setChildren(getChildren(titleInfo, listTitleInfo));??????????????????? treeList.add(node); // 添加内部结点??????????????? } else {??????????????????? node.setId(titleInfo.getTitlNumber());??????????????????? node.setName(titleInfo.getName());??????????????????? node.setData(listUserInfo.get(0));??????????????????? treeList.add(node); // 添加叶子结点??????????????? }??????????? }??????? }??????? return treeList;??? }

?

附件,pojo:OrganizationTree,SysUser,Title

读书人网 >编程

热点推荐