java中将list转为树形结构的数据


java中将list转为树形结构的数据

/**
*pid 顶级节点的parentId
*/
public static List getTreeData(List list,Long pid){
  List result =  new ArrayList();
  List temp =  new ArrayList();
  for(DepartmentVO entity : list){
    if(entity.getParentId().equals(pid)){
      DepartmentVO departmentVO = new DepartmentVO();
      BeanCopyUtils.copyProperties(entity,departmentVO);
      temp = getTreeData(list,entity.getDepartmentId());
      if(temp.size() > 0){
        departmentVO.setChildren(temp);
      }
      result.add(departmentVO);
    }
  }
  return result;
}