递归根据父节点查询下面所有子节点-爱代码爱编程
递归获取某个父节点下面的所有子节点
/**
* 递归获取某个父节点下面的所有子节点
*
* @param childMenu 要返回的结果
* @param menuList 数据库查询出来的所有机构集合
* @param pid 父id
* 注:本身的机构节点不会添加进去
*/
private static void getParentNode(List<TreeNode> childMenu, List<TreeNode> menuList, Integer pid) {
menuList.stream()
//过滤出父id等于参数的id
.filter(menu -> StringUtils.isNotBlank(String.valueOf(menu.getParentId())) && menu.getParentId().equals(pid))
.forEach(menu -> {
//递归遍历下一级
getParentNode(childMenu, menuList, menu.getId());
//添加
childMenu.add(menu);
});
}