文章图片
文章图片
文章图片
层级结构的数据在日常工作中是很常见的 , 例如:地市层级数据 , 机构层级数据 , 单位层级数据等等 。
这周在工作中 , 我就遇到了需要处理层级结构的数据 , 功能需求很简单:前端有个查询页面 , 需要根据地市查询相应的数据 , 并且地市是按照层级展示的 , 选择对应的地市 , 需要将当前地市及其所有下级地市数据展现出来 。 这篇文章主要记录一下如何使用Java构造一个层级结构的树形数据 。
一、实现思路构造层级数据 , 首先需要确保处理的数据是满足层级关系的 , 即:可以通过编号能够找到对应的上级编号 , 如果是最顶层数据 , 则顶层编号可以为空或者为指定编号 。 其次 , 就是利用递归的思想 , 将每一层的数据找到对应的下级数据即可 。
- 满足层级关系
- 利用递归思想
这里的OrgVO是保存数据的实体类 , 类中属性有如下:
【充电器|如何使用Java构造层级结构的树形数据】接着 , 编写一个获取子级数据的方法 , 并且是递归调用自身 , 具体实现如下所示:
编写一个获取最顶层数据的方法 , 然后遍历最顶层的数据 , 循环调用上面获取子级数据的方法 , 循环结束时候 , 树形数据也就构造完成 。
测试能否成功构造树形数据 , 如下所示:
三、具体效果查看代码输出结果 , 将数据格式化 , 效果如下所示:
到此 , 使用Java构造层级结构的树形数据就完成了 。
这是我的第102篇文章 , 感谢您的阅读 。
- 小米科技|不聊性能只谈拍照!新旗舰反向升级成潮流,拍照手机如何选?
- 搜索引擎|淘宝运营系统出台春节打烊功能,淘宝运营商家该如何选择?
- MacBook Pro|光伏电池充电器/带MPPC的太阳能电池锂离子电池滴流充电器LTC3105
- 东南亚|MIUI13深度使用报告,这还是我认识的MIUI吗?网友评价很真实
- 小米科技|RTX3060的性能到底如何?相比RTX2060提升有多大?
- 小米 11 Ultra 内测 NFC“读写勿扰”与“解锁后使用”功能
- 市值超 1.7 万亿的Netflix是如何做决策的?
- 支付宝|新的支付方式兴起,已有超1.4亿人使用,微信支付宝地位不再?
- “最敬业”的手机代言人,厂商欠债173亿破产,他却仍在继续使用
- QQ音乐的2021专辑盘点,是如何征服资深乐迷的