求某个节点的所有父节点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38795959/article/details/79241797

package com.fh.service.xtgl;

import com.fh.util.PageData;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

//根据list树状菜单,求某个节点的所有父节点
public class TreeService {

public static String getTree(String DEPT_ID,List list,List result)throws Exception{

    String name = "";

//循环遍历list
for(int i = 0;list.size()>i;i++){

//获取节点
String deptId = list.get(i).get(“DEPT_ID”).toString();
//判断节点和传过来的参数是否相同,如果相同获取节点名称
if(deptId.equals(DEPT_ID)){
name = list.get(i).get(“DEPT_NAME”).toString();
result.add(name);//将获取到的节点名称,添加到list集合中
getTree(list.get(i).getString(“PID”),list,result);//递归方法
}
}
String DEPT_NAME = “”; //定义一个字符串
//拼接返回值,排序(倒序)
for (int i = result.size() - 1; i >= 0; i–) {
DEPT_NAME += result.get(i)+”-“;
}
//去除字符串后面的连接符“-”
if(DEPT_NAME.length()>0){
DEPT_NAME = DEPT_NAME.substring(0,DEPT_NAME.length()-1);
}
return DEPT_NAME;
}

public static void main(String[] args) throws Exception {
    String DEPT_ID = "5";

//注意:这里的PageData对象相当于Map对象
PageData pageData1 = new PageData();
pageData1.put(“DEPT_ID”,”1”);pageData1.put(“DEPT_NAME”,”中国”);pageData1.put(“PID”,”0”);
PageData pageData2 = new PageData();
pageData2.put(“DEPT_ID”,”2”);pageData2.put(“DEPT_NAME”,”北京”);pageData2.put(“PID”,”1”);
PageData pageData3 = new PageData();
pageData3.put(“DEPT_ID”,”3”);pageData3.put(“DEPT_NAME”,”丰台区”);pageData3.put(“PID”,”2”);
PageData pageData4 = new PageData();
pageData4.put(“DEPT_ID”,”4”);pageData4.put(“DEPT_NAME”,”海淀区”);pageData4.put(“PID”,”2”);
PageData pageData5 = new PageData();
pageData5.put(“DEPT_ID”,”5”);pageData5.put(“DEPT_NAME”,”山西”);pageData5.put(“PID”,”1”);
PageData pageData6 = new PageData();
pageData6.put(“DEPT_ID”,”6”);pageData6.put(“DEPT_NAME”,”太原”);pageData6.put(“PID”,”5”);
List list = new ArrayList();
list.add(pageData1);
list.add(pageData2);
list.add(pageData3);
list.add(pageData4);
list.add(pageData5);
list.add(pageData6);
List result = new ArrayList();//定义一个list结果集

    String  str = getTree(DEPT_ID,list,result);

    System.out.println(str);
}

}

猜你喜欢

转载自blog.csdn.net/qq_38795959/article/details/79241797