树形结构地柜查询子节点
来源:互联网 发布:怎么检查网络被盗用 编辑:程序博客网 时间:2024/05/02 22:24
import java.util.ArrayList;
import java.util.List;
public class CaseAllMenus {
private String name;
private int level;
private String code;
private String parentCode;
private String folderName;
private boolean leaf = true;
private int edFolderId;
private int isLable;
private int isSemantics;
public int getEdFolderId() {
return edFolderId;
}
public void setEdFolderId(int edFolderId) {
this.edFolderId = edFolderId;
}
public int getIsLable() {
return isLable;
}
public void setIsLable(int isLable) {
this.isLable = isLable;
}
public int getIsSemantics() {
return isSemantics;
}
public void setIsSemantics(int isSemantics) {
this.isSemantics = isSemantics;
}
private List<CaseAllMenus> childList = new ArrayList<CaseAllMenus>();
public boolean isLeaf() {
return leaf;
}
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getParentCode() {
return parentCode;
}
public void setParentCode(String parentCode) {
this.parentCode = parentCode;
}
public String getFolderName() {
return folderName;
}
public void setFolderName(String folderName) {
this.folderName = folderName;
}
public List<CaseAllMenus> getChildList() {
return childList;
}
public void setChildList(List<CaseAllMenus> childList) {
this.childList = childList;
}
@Override
public String toString() {
return "CaseAllMenus [name=" + name + ", level=" + level + ", code="
+ code + ", parentCode=" + parentCode + ", folderName="
+ folderName + ", leaf=" + leaf + ", edFolderId=" + edFolderId
+ ", isLable=" + isLable + ", isSemantics=" + isSemantics
+ ", childList=" + childList + "]";
}
}
package com.iflytek.icourt;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.iflytek.icourt.model.response.CaseAllMenus;
/**
* 获取子节点
*/
public class CopyOfSuper3 {
/**
* 根据父节点的ID获取所有子节点
* @param list 分类表
* @param typeId 传入的父节点ID
* @return String
*/
public String getChildNodes(List<CaseAllMenus> list) {
List<CaseAllMenus> returnList = new ArrayList<CaseAllMenus>();
for(CaseAllMenus menus: list){
if (menus.getParentCode().equals("0")) {
returnList.add(menus);
recursionFn(list, menus);
}
}
return returnList.toString();
}
private void recursionFn(List<CaseAllMenus> list, CaseAllMenus node) {
List<CaseAllMenus> childList = getChildList(list, node);// 得到子节点列表
if (hasChild(list, node)) {// 判断是否有子节点
node.setChildList(childList);
for(CaseAllMenus caseAllMenus:childList){
recursionFn(list, caseAllMenus);
}
}
}
// 得到子节点列表
private List<CaseAllMenus> getChildList(List<CaseAllMenus> list, CaseAllMenus node) {
List<CaseAllMenus> nodeList = new ArrayList<CaseAllMenus>();
for(CaseAllMenus allMenus :list){
if (allMenus.getParentCode().equals(node.getCode())) {
nodeList.add(allMenus);
}
}
return nodeList;
}
// 判断是否有子节点
private boolean hasChild(List<CaseAllMenus> list, CaseAllMenus node) {
return getChildList(list, node).size() > 0 ? true : false;
}
// 本地模拟数据测试
public static void main(String[] args) {
long start = System.currentTimeMillis();
List<CaseAllMenus> nodeList = new ArrayList<CaseAllMenus>();
CaseAllMenus menus = new CaseAllMenus();
menus.setParentCode("0");
menus.setCode("1005");
menus.setName("原告送达地址确认书");
CaseAllMenus menus6 = new CaseAllMenus();
menus6.setParentCode("0");
menus6.setCode("17");
menus6.setName("原告");
CaseAllMenus menus4 = new CaseAllMenus();
menus4.setParentCode("1005");
menus4.setCode("12");
menus4.setName("原告送达地址确认书_3");
CaseAllMenus menus1 = new CaseAllMenus();
menus1.setParentCode("1005");
menus1.setCode("14");
menus1.setName("原告送达地址确认书_1");
CaseAllMenus menus2 = new CaseAllMenus();
menus2.setParentCode("1005");
menus2.setCode("13");
menus2.setName("原告送达地址确认书_2");
CaseAllMenus menus3 = new CaseAllMenus();
menus3.setParentCode("14");
menus3.setCode("17");
menus3.setName("原告送达地址确认书_1_1");
CaseAllMenus menus5 = new CaseAllMenus();
menus5.setParentCode("14");
menus5.setCode("16");
menus5.setName("原告送达地址确认书_1_2");
nodeList.add(menus3);
nodeList.add(menus2);
nodeList.add(menus1);
nodeList.add(menus);
nodeList.add(menus4);
nodeList.add(menus5);
nodeList.add(menus6);
CopyOfSuper3 mt = new CopyOfSuper3();
System.out.println(mt.getChildNodes(nodeList));
long end = System.currentTimeMillis();
System.out.println("用时:" + (end - start) + "ms");
}
}
- 树形结构地柜查询子节点
- 动态查询一个树形结构表中:某一个节点的所有父节点或者子节点
- oracle查询出树形结构的表,父节点数据是子节点的数据和
- mysql读取树形结构所有子节点 mysql递归查询 详解 存储过程详解 查询所有子节点详解
- 触发器递归更新 树形结构子节点
- ORACLE 树形遍历查询根节点、父节点、子节点
- ORACLE 树形遍历查询根节点、父节点、子节点
- SqlServer找出所有的子节点,并按树形结构、层次查询
- oracle 查询树形结构最底级节点
- oracle树形结构由子节点递归得到父节点
- oracle树形结构由子节点递归得到父节点
- oracle树形结构由子节点递归得到父节点
- oracle树形结构由子节点递归得到父节点
- oracle查询树形结构某层级节点及叶子节点
- ORACLE 树形结构数据 查询某结点下全部子节点无限递归的前2个数据
- Java 数据结构之一般树形结构中父节点和子节点的查找
- 取出所有树形结构父节点下的子节点(用存储过程实现)
- 查询所有子节点,包含节点本身(遍历树形菜单)
- linux命令---vi编辑器快速定位行数、删除当前行、和删除当前行后面的全部内容
- 2132-数据结构实验之栈与队列二:一般算术表达式转换成后缀式
- OpenGL绘制正四面体
- 访问本地Tomcat服务器 localhost/127.0.0.1:8080/web_app/xx- Connection refused
- 2133-数据结构实验之栈与队列三:后缀式求值
- 树形结构地柜查询子节点
- jTessBoxEditor使用
- 2134-数据结构实验之栈与队列四:括号匹配
- angular2如何识别字符串中的html标签,并按照html来显示视图
- c++ 三目运算符
- 3333-数据结构实验之栈与队列五:下一较大值(一)
- hive中的NULL(hive空值处理)
- #每天一点R语言# 简单运算
- ACM复习(2)1078 破密