java 树形列表_java 列表转树形

往往要将数据库中的菜单配置转成树形结构展示到前台,这边提供一种二维树组转树形(同事那边看来的,很好用),以供参考:

数据库  id,name,parent_id

java对象:

Java代码 icon_copy.gif icon_star.png

spinner.gif

privateclassTreeNode{

privateString id;

privateString name;

privateString parentId;

privateList children;

// TODO getter/setter

}private class TreeNode{

private String id;

private String name;

private String parentId;

private List children;

// TODO getter/setter

}

树构造代码如下:

Java代码 icon_copy.gif icon_star.png

spinner.gif

List menuList = xxManager.findAllMenu();

List nodeList =newArrayList();

for(TreeNode node1 : menuList){

booleanmark =false;

for(TreeNode node2 : menuList){

if(node1.getParentId()!=null&& node1.getParentId().equals(node2.getId())){

mark =true;

if(node2.getChildren() ==null)

node2.setChildren(newArrayList());

node2.getChildren().add(node1);

break;

}

}

if(!mark){

nodeList.add(node1);

}

}

//转为json格式

String json = JSONArray.fromObject(nodeList).toString();

System.out.println("json:"+json);List menuList = xxManager.findAllMenu();

List nodeList = new ArrayList();

for(TreeNode node1 : menuList){

boolean mark = false;

for(TreeNode node2 : menuList){

if(node1.getParentId()!=null && node1.getParentId().equals(node2.getId())){

mark = true;

if(node2.getChildren() == null)

node2.setChildren(new ArrayList());

node2.getChildren().add(node1);

break;

}

}

if(!mark){

nodeList.add(node1);

}

}

//转为json格式

String json = JSONArray.fromObject(nodeList).toString();

System.out.println("json:"+json);

原理如下图了:

53434011_1.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值