背景
从数据库中取出一段数据, 这些数据会有层级关系, 带上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);<