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()));
}
}
将有父子关系的数据转换成树形结构
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前几天遇到一个树型组件(类似树形菜单)数据格式化的问题,由于后台把原始查询的数据直接返回给前端,父子关系并未构建,...