package Utils;
import Pojo.TaskInfo;
import org.checkerframework.checker.units.qual.A;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
public class TreeUtil {
public static Map<String,Object> mapArray = new LinkedHashMap<String, Object>();
public List<TaskInfo> taskInfos;
public List<Object> taskList = new ArrayList<>();
public List<Object> generateTaskTree(List<TaskInfo> tasks){
this.taskInfos = tasks;
for(TaskInfo task:tasks){
Map<String,Object> mapArr = new LinkedHashMap<String, Object>();
if(task.getParentId() == 0){
setTreeMap(mapArr,task);
taskList.add(mapArr);
}
}
return taskList;
}
public List<?> generateChildTask(Integer id){
List<Object> childTaskList = new ArrayList<Object>();
for(TaskInfo task:taskInfos){
Map<String,Object> childMapArr = new LinkedHashMap<String, Object>();
if(task.getParentId() == id){
setTreeMap(childMapArr,task);
childTaskList.add(childMapArr);
}
}
return childTaskList;
}
public void setTreeMap(Map<String,Object> mapArr,TaskInfo task){
mapArr.put("rootId",task.getRootId());
mapArr.put("taskId",task.getTaskId());
mapArr.put("parentId",task.getParentId());
mapArr.put("taskName",task.getTaskName());
mapArr.put("childTask",generateChildTask(task.getTaskId()));
}
}
将有父子关系的数据转换成树形结构
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 前几天遇到一个树型组件(类似树形菜单)数据格式化的问题,由于后台把原始查询的数据直接返回给前端,父子关系并未构建,...