JavaList集合递归树状结构

这篇博客介绍如何将从数据库获取的一二三级结构数据转化为树状排序。提供了优化过的Java代码示例,只需id,pid,name字段即可实现。推荐使用net.sf.JSON库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从数据库查出一堆集合数据之后,数据是按照一二三级这种规律,在这里做一个树状排序,为了方便大家优化了下代码,直接复制粘贴就可以使用

数据需要id,pid,name即可支持

首先引入net.sf.JSON,个人比较习惯用这个,读者随意

/**
 *parentId为当前List最上层父id
 *idKey为实体类对象中id键名
 *parentKey为实体类对象中id的键名
 *childName为返回数据子列表的命名
 */
public class treeObjectList{
    publlic static JSONArray forObjectToTreeMap(List<?> treeList,Long parentId,String idKey,String parentIdKey,String childName){
        JSONArray childMenu = new JSONArray();
        for(Object object : treeList){
            JSONObject jsonMenu = JSONObject.fromObject(object);
            Long menuId = jsonMenu.getLong(idKey); 
            Long pid = jsonMenu.getLong(parentIdKey);
            if(parentId==pid){
                JSONArray array = forObjectToTreeMap(treeList,menuId);
                jsonMenu.put(childName,array);
                childMenu.add(jsonMenu);
            }
       
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值