@Test
public void contextLoads1() {
List<School> list = new ArrayList<School>();
list.add(new School(1,"张三丰",0));
list.add(new School(2,"张无忌",1));
list.add(new School(3,"张翠山",2));
list.add(new School(4,"殷梨亭",3));
list.add(new School(5,"俞莲舟",3));
list.add(new School(6,"宋远桥",4));
list.add(new School(7,"宋远桥",5));
List<Integer> idList = new ArrayList<>();
//以id为6的对象为例,他的父节点是4,先将本身的id设置进列表中
idList.add(6);
List<Integer> integerList = getpid(idList, 4, list);
System.out.println(integerList);
}
public List<Integer> getpid(List<Integer> idList,Integer pid,List<School> schools){
School school = schools.stream().filter(s -> s.getId() == pid).findFirst().get();
idList.add(school.getId());
if (school.getId() != 1){
getpid(idList,school.getPid(),schools);
}
return idList;
}
根据子节点递归查询所有父节点
最新推荐文章于 2024-04-28 19:08:13 发布