当前位置:网站首页>树形结构构造示例代码
树形结构构造示例代码
2022-08-02 20:36:00 【jsxztshaohaibo】
/**
* 构造树形结构
* @param resourceList
* @return
*/
public List<RResource> buildResourceTreeInfo(List<RResource> resourceList) {
List<RResource> result = new ArrayList<>();
Map<String,RResource> record = new HashMap<>();
for (RResource resource : resourceList) {
if (RResource.TOP_LEVEL_NODE.equals(resource.getParentId())) {//TOP_LEVEL_NODE=0
resource.setChildren(new ArrayList<>());
result.add(resource);
}
record.put(resource.getId(), resource);
}
for (RResource resource : resourceList) {
if (StringUtils.isNotBlank(resource.getParentId()) &&!RResource.TOP_LEVEL_NODE.equals(resource.getParentId())) {//TOP_LEVEL_NODE=0
RResource parent = record.get(resource.getParentId());
if (parent != null) {
parent.getChildren().add(resource);
}
}
}
return result;
}边栏推荐
猜你喜欢
随机推荐
VisualStudio 制作Dynamic Link Library动态链接库文件
C语言中变量在内存中的保存与访问
Flink Yarn Per Job - 创建启动Dispatcher RM JobManager
The software testing process specification is what?Specific what to do?
接口测试常用工具及测试方法(入门篇)
Day35 LeetCode
Mysql用户管理
Qt提升自定义控件,找不到头文件
The time series database has been developed for 5 years. What problem does it need to solve?
JMeter的基本使用
浅议.NET遗留应用改造
信息学奥赛一本通(1260:【例9.4】拦截导弹(Noip1999))
.NET性能优化-你应该为集合类型设置初始大小
什么是幂等
ORB SLAM3加载Vocabulary更快ORBvoc.bin
js: 实现一个cached缓存函数计算结果
汇编语言中b和bl关键字的区别
引用类型 ,值类型 ,小坑。
信息学奥赛一本通(1257:Knight Moves)
框架设计:PC 端单页多页框架如何设计与落地








