hierarchy-utils 升级 1.0.2,增加递归遍历树形数据处理
hierarchy-utils (或比 hutool 树形处理工具 TreeUtil 更好使~)
用于构建/查找具有层级关系树形数据的工具库,以解决业务中常见的树形数据处理需求 支持自定义过滤数据、排序及转换数据、打平递归树数据、递归遍历树形数据处理等
更新内容如下:
增加递归遍历树形数据处理 (可用于用户处理自定义业务逻辑)
示例:
Integer rootId = -1; List<Menu> treeResults = MenuResolver.getResolvedWithChildrenMenuList(rootId); HierarchyEachUtils.recursionEach(treeResults, Menu::getChildren, new HierarchyEachUtils.EachCallback<Menu>() { @Override public boolean withParentList() { //设置启用,后续用于获取遍历元素的所有父级列表 return true; } @Override public void beforeEach(List<Menu> sourceList) { //对源数据列表进行处理,比如有多个进行排个序? } @Override public void each(int level, Menu current, Menu parent, List<Menu> parentList, List<Menu> children, boolean hasExistChildren) { if (hasExistChildren) { //排序子元素 -- 降序 children.sort(Comparator.comparing(Menu::getSort).reversed()); } if (level == HierarchyEachUtils.FIRST_LEVEL) { //第一层级时 -- 没有真实存在的父元素 System.out.println(String.format("level: %s, id: %s, sort: %s, parent id: %s, path: %s", level, current.getId(), current.getSort(), "-", current.getId())); } else { System.out.println(String.format("level: %s, id: %s, sort: %s, parent id: %s, path: %s", level, current.getId(), current.getSort(), parent.getId(), Stream.of(parentList, Collections.singletonList(current)).flatMap(Collection::stream).map(Menu::getId).map(String::valueOf) .collect(Collectors.joining("-")))); } } });

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
BootstrapBlazor v8.7.1 已经发布,Bootstrap 样式的 Blazor UI 组件库
BootstrapBlazor v8.7.1 已经发布,Bootstrap 样式的 Blazor UI 组件库 此版本更新内容包括: Release 2024-7-8 V8.7.1 What's Changed 破坏性更新 feat(ITableColumn): 更改部分参数为可为空数据类型重新定义与 AutoGenerateClassAttribute AutoGenerateColumnAttribute 参数权重机制 TableColumn > AutoGenerateColumnAttribute|AutoGenerateClassAttribute AutoGenerateClassAttribute 值为 true 的参数会传递给 AutoGenerateColumnAttribute by @ArgoZhang in https://github.com/dotnetcore/BootstrapBlazor/pull/3802 缺陷 fix(Tab): 修复 Layout 内使用 Tab 组件时当前 Active 状态标签不能自动调整位置问题(被遮挡) by @Ar...
- 下一篇
【重大更新】您的文档编辑体验再升级!
🌟**【重大更新】您的文档编辑体验再升级!**🌟 亲爱的用户们, 在这个充满活力的季节里,我们带着满满的诚意与惊喜,为您的文档编辑之旅带来了全面的升级与优化!🎉 🔥 新增亮点功能: 个性化头像显示:在文档编辑器中,现在可以直接显示您在Dzz中的个性头像,让每一次协作都充满个性色彩!👤 连接稳定性提示:担心OnlyOffice服务器连接问题吗?我们新增了无法连接时的温馨提示,让您随时掌握状态,工作无忧!🔒 高版本兼容修复:针对高版本OnlyOffice可能出现的页面空白问题,我们进行了深度修复,确保您的编辑体验流畅无阻!🚀 管理页面新功能:管理页面新增了强制保存功能,重要文档再也不怕意外丢失!💼 🌈 优化与改进: 权限管理升级:我们优化了权限检查逻辑,确保只有拥有权限的用户才能查看和编辑文件,保障您的数据安全。🔒 只读模式新设置:新增只读模式是否允许复制的选项,满足您多样化的编辑需求。📝 UI界面优化:对UI界面进行了细致调整,让操作更加直观便捷,视觉体验焕然一新!🎨 🔧 新增配置选项: 自动保存与聊天功能:新增自动保存设置和聊天功能开关,让您的文档管理更加灵活...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- 2048小游戏-低调大师作品
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果