//调用 List<Map<String,Object>> list = new ArrayList<>(); for (int i = 0; i < depList.size(); i++) { Map<String,Object> map = new HashMap<>(); map.put("id",depList.get(i).getId()); map.put("pId",depList.get(i).getFid()); map.put("name",depList.get(i).getCnatureClassName()); list.add(map); } List<Map<String, Object>> child = getChild(list, "0"); //递归 public List<Map<String,Object>> getChild(List<Map<String,Object>> lawList, String pId){ List<Map<String,Object>> childList = new ArrayList<>(); for (Map<String,Object> m : lawList) { if(m.get("pId").equals(pId)){ //说明是子类 childList.add(m); } } // 把子菜单的子菜单再循环一遍 for (Map<String,Object> m: childList) { // 递归 m.put("child",getChild(lawList,String.valueOf(m.get("id")))); } // 递归退出条件 if (childList.size() == 0) { List<Map<String,Object>> list = new ArrayList<>(); return list; } return childList; }
java 简单的小递归
最新推荐文章于 2023-12-28 10:57:39 发布