Java实现返回的数据为树形结构
生活随笔
收集整理的這篇文章主要介紹了
Java实现返回的数据为树形结构
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.實(shí)體類為:
id:主鍵
name:名字
parent_id:父id
grade:等級(jí)
根據(jù)list中的實(shí)體類數(shù)據(jù)返回樹形結(jié)構(gòu),代碼如下:
| public class TSystemTreeUtil {public static Map<String,Object> mapArray = new LinkedHashMap<String, Object>();public static List<TSystem> menuCommon;public static List<Object> menuList(List<TSystem> menu){List<Object> list = new ArrayList<>();menuCommon = menu;for (TSystem x : menu) {Map<String,Object> mapArr = new LinkedHashMap<String, Object>();mapArr.put("id", x.getId());mapArr.put("sys_name",x.getSysName());mapArr.put("category", x.getCategory());mapArr.put("project_name", x.getProjectName()==null?null:x.getProjectName());mapArr.put("standard", x.getStandard()==null?null:x.getStandard());mapArr.put("contents", x.getContents()==null?null:x.getContents());mapArr.put("fraction", x.getFraction()==null?null:x.getFraction());if("1".equals(x.getGrade())){mapArr.put("remarks",x.getCategory());}else if("2".equals(x.getGrade())){mapArr.put("remarks",x.getProjectName());}else if("3".equals(x.getGrade())){mapArr.put("remarks",x.getStandard());}mapArr.put("child", menuChild(x.getId())); //去子集查找遍歷list.add(mapArr);}return list;}public static List<?> menuChild(Long id){ //子集查找遍歷List<Object> lists = new ArrayList<Object>();for(TSystem a:menuCommon){Map<String,Object> childArray = new LinkedHashMap<String, Object>();if (null == a.getParentId()){continue;}if(a.getParentId().equals(id)){childArray.put("id", a.getId());childArray.put("sys_name",a.getSysName());childArray.put("category", a.getCategory());childArray.put("project_name", a.getProjectName()==null ? null :a.getProjectName());childArray.put("standard", a.getStandard()==null ? null :a.getStandard());childArray.put("contents", a.getContents()==null?null:a.getContents());childArray.put("fraction", a.getFraction()==null?null:a.getFraction());if("1".equals(a.getGrade())){childArray.put("remarks",a.getCategory());}else if("2".equals(a.getGrade())){childArray.put("remarks",a.getProjectName());}else if("3".equals(a.getGrade())){childArray.put("remarks",a.getStandard());}childArray.put("child", menuChild(a.getId()));lists.add(childArray);}else {continue;}}return lists;}} |
?
總結(jié)
以上是生活随笔為你收集整理的Java实现返回的数据为树形结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot实现上传文件
- 下一篇: java美元兑换,(Java实现) 美元