java的list转换为树形结构

这篇博客探讨了如何处理从数据库获取的带有层级关系的数据,将其转化为树形结构的问题。背景涉及部门层级、省市区关系及目录结构。解决思路通过二次遍历,第一次建立哈希表存储ID与数据,第二次遍历构造父子节点关系。
摘要由CSDN通过智能技术生成

背景

从数据库中取出一段数据, 这些数据会有层级关系, 带上id和parent_id, 现在需要把这些数据转化为树形结构…
在实际工作中这个是一个比较常见的问题,比如部门的层级关系, 省市区的层级关系,四级目录关系…

解决思路

二次遍历, 第一次遍历使用哈希表, 存储id和数据信息…第二次遍历, 构造父子结构关系。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * list结构转化为树形结构
 */

public class Main {
   

    public static void main(String[] args) {
   

        List<Map<String, Object>> data = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        map.put("id", 1);<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值