递归将两个集合整合
public List<fanhuiVo> get(List<menta> list,
List<treeVO> deptList) {
List<fanhuiVo> voList = new ArrayList<>(); //list为带有id和数据属性的数组集合,deptlist为树结构集合,其中的key对应list中的id
for (fanhuiVo dvO : voList ) {
fanhuiVo vo = new fanhuiVo();
// 设置名称
vo.setObjName(dvO .getTitle());
vo.setObjid(dvO .getKey()); //设置对应的key值
voList.add(vo);
List<treeVO> children = dvO .getChildren(); //获取子节点数据
// 如果是空,是子节点,去获取配置的值
if (CollUtil.isEmpty(children)) {
for (menta m: list) {
// 如果是子节点的话,就将数据赋值给new出的vo对象
if (m.getObjid().equals(dvO .getKey())) {
BeanUtil.copyProperties(m, vo);
}
}
} else {
//如果不是子节点进行递归继续调取
List<fanhuiVo> voChildren = get( list, children);
vo.setChildren(voChildren);
}
}
return voList ;
}