将list的当前层放到前一层的children里,例如list.size=5,0为最顶级,5放入4中,4放入3中.最终得到长度为1的list,children里套四层
3条回答 默认 最新
关注 - 建议你看下这篇博客👉 :java List数据封装Tree结构
- 除此之外, 这篇博客: Java中List转Tree、List转化深林树、Tree转List中的 四、Tree转List 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
需求:修改权限,跟前端妹子协商好参数,也是通过树形化传给后台
实现思路
- 获取前端传给的树形列表;
- 定义一个空的List用来添加权限列表
- 把一级目录权限添加都List集合
- 在判断有子孙节点是否有元素
- 递归遍历子孙节点添加List集合
@Override public Boolean savePermission(PermissionTreeReq permissionTreeReq) { log.info("savePermission.req permissionTreeReq={}", JSON.toJSONString(permissionTreeReq)); List<PermissionTreeResp> permissionRespList = new LinkedList<>(); List<PermissionTreeResp> permissionTreeList = permissionTreeReq.getPermissionTreeResps(); // 树转化成List treeToList(permissionRespList, permissionTreeList); log.info("treeToList={}",JSON.toJSONString(permissionRespList)); return Boolean.TRUE; } /** * 数转换成List * @param permissionRespList * @param permissionTreeList * @date: 2021/3/9 22:23 * @return: void */ private void treeToList(List<PermissionTreeResp> permissionRespList, List<PermissionTreeResp> permissionTreeList) { for (PermissionTreeResp permissionTreeResp : permissionTreeList) { permissionRespList.add(permissionTreeResp); if (CollectionUtil.isNotEmpty(permissionTreeResp.getChildren())) { treeToList(permissionRespList,permissionTreeResp.getChildren()); } } }
感谢大家看到最后,如文章有不足,欢迎大家在评论区支持,给予意见。如果觉得我的文章对你有帮助,那就给我一个赞同吧!
本回答被专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私
- ¥15 ROS系统搭建请教(跨境电商用途)
- ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。