用java实现根据公司编码取得任意层级的部门列表

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:14:19
比如说:为从公司级向下数的层数,0为公司自身,1为公司级下一层,以此类推。想到用递归,但只能递归所有的。
就是说这条记录有一个编码和一个父编码,他们实际上是一个树形结构。比如说公司编码是A,则父编码则为空,那公司下有一个部门编码是B,则父编码是A。以此类推,B下面有子机构编码为C(父编码为B).....,当我传入一个层数,比如说0,则得到公司编码,传入1,则得到B编码,传入2,则得到C编码。

微机寒豆,递归是肯定的,但不明白的是,何时递归结束。另外,不是递归到所有的子id,而是说根据传入的参数,比如说上面的传入1,传入2来结束递归。我要的不是所有的,而是特定的一层递归后的结果。

要是oracle多好,一句话搞定。
既然是java,给你伪代码,你补充吧:
String getDeptName(int level,String dept){
if(level==0){
return dept;
}else if(level>=10){
return "层数太大";
}else{
return getDeptName(level-1,dept->childDeptName);
}
}

用递归啊 ,先传进去一个id,然后找到父id是这个id的子id,如果这个子id非空,递归调用自身方法,继续找这个子id的子子id
即可了。不知我说的你明白么?