当前位置: 首页 > news >正文

沈阳外贸网站建设/广告开户南京seo

沈阳外贸网站建设,广告开户南京seo,商城类网站主要分为哪些模块,wordpress文件结构本篇文章小编给大家分享一下Java list根据id获取子节点代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。实现思路1.获取整个数据的list集合数据2.将数据分组,java8 list有groupby分组,ja…

本篇文章小编给大家分享一下Java list根据id获取子节点代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

实现思路

1.获取整个数据的list集合数据

2.将数据分组,java8 list有groupby分组,java8之前的自己遍历整理

3.分组后递归获取子节点,有子节点的添加,没有的设置子节点并删除分组的数据,知道分组数据删完

Tree.java

@Data

public class Tree {

private Integer id;

private Integer pId;

private String key;

private String value;

private ListchildList;

}

TreeUtils.java

public class TreeUtils {

static Listtrees ;

static {

String jsonStr = "[" +

"{\"id\":100,\"pId\":1,\"key\":\"root\", \"value\": \"root\"}," +

"{\"id\":1000,\"pId\":100,\"key\":\"node1\", \"value\": \"node1\"}," +

"{\"id\":2000,\"pId\":100,\"key\":\"node2\",\"value\": \"node2\"}," +

"{\"id\":3000,\"pId\":100,\"key\":\"node3\",\"value\": \"node3\"}," +

"{\"id\":1100,\"pId\":1000,\"key\":\"node11\",\"value\": \"node11\"}," +

"{\"id\":1200,\"pId\":1000,\"key\":\"node12\",\"value\": \"node12\"}," +

"{\"id\":1110,\"pId\":1100,\"key\":\"node111\",\"value\": \"node111\"}," +

"{\"id\":1120,\"pId\":1100,\"key\":\"node112\",\"value\": \"node112\"}," +

"{\"id\":2100,\"pId\":2000,\"key\":\"node21\",\"value\": \"node21\"}," +

"{\"id\":2200,\"pId\":2000,\"key\":\"node22\",\"value\": \"node22\"}," +

"{\"id\":2110,\"pId\":2100,\"key\":\"node211\",\"value\": \"node21\"}" +

"]";

trees = JSONObject.parseArray(jsonStr, Tree.class);

}

public static void main(String[] args) {

Tree tree = metaTree(trees, 100);

/**

* Tree@6073f712[id=100,pId=1,key=root,value=root,childList=[

* Tree(id=1000, pId=100, key=node1, value=node1, childList=[

* Tree(id=1100, pId=1000, key=node11, value=node11, childList=[

* Tree(id=1110, pId=1100, key=node111, value=node111, childList=null),

* Tree(id=1120, pId=1100, key=node112, value=node112, childList=null)]),

* Tree(id=1200, pId=1000, key=node12, value=node12, childList=null)]),

* Tree(id=2000, pId=100, key=node2, value=node2, childList=[

* Tree(id=2100, pId=2000, key=node21, value=node21, childList=[

* Tree(id=2110, pId=2100, key=node211, value=node21, childList=null)]),

* Tree(id=2200, pId=2000, key=node22, value=node22, childList=null)]),

* Tree(id=3000, pId=100, key=node3, value=node3, childList=null)]]

*/

System.out.println("tree:" + ToStringBuilder.reflectionToString(tree));

}

private static Tree metaTree(ListtreeList, Integer id) {

//此处getId getPId根据自己实际情况更改

Tree treeConfig = treeList.stream().filter(tree -> tree.getId().equals(id)).collect(Collectors.toList()).get(0);

Map> collect = treeList.stream().filter(type -> type.getPId() != null).collect(Collectors.groupingBy(Tree::getPId));

if (collect != null && collect.size() > 0) {

recursion(collect, treeConfig);

}

return treeConfig;

}

private static Tree recursion(Map> maps, Tree tree) {

if (tree.getChildList() == null) {

if (maps.get(tree.getId()) != null) {

tree.setChildList(maps.get(tree.getId()));

maps.remove(tree.getId());

if (maps.size() > 0) {

recursion(maps, tree);

}

}

} else {

ListmetaTypeList = tree.getChildList();

if (metaTypeList != null && metaTypeList.size() > 0) {

for (Tree meta : metaTypeList) {

recursion(maps, meta);

}

}

}

return tree;

}

}

http://www.jmfq.cn/news/4823731.html

相关文章:

  • 做网站需要平台/广东东莞疫情最新消息今天又封了
  • 慈溪做网站的公司/青岛网络推广公司哪家好
  • 北京微网站建设设计服务/品牌线上推广方式
  • 做爰全过程的视频的网站/国家高新技术企业
  • 建网站用什么工具/百度客户端登录
  • 网站开发部署/网店seo关键词
  • 对新网站做seo大概需要多久/竞价账户托管哪家好
  • 哈尔滨口碑好的网站建设/百度网盘搜索引擎入口哪里
  • 雅安网站制作/西安百度推广公司
  • 自己ip做网站/神马seo服务
  • python做网站开发/子域名大全查询
  • 个人介绍微电影网站模板/临沂森佳木业有限公司
  • 长沙做网站建设公司排名/新闻20条摘抄大全
  • 自己创建网站/网络服务器的功能
  • 网站排名怎么做/seo程序
  • 网站维护服务公司/网站收录工具
  • 中华人民住房和城乡建设厅网站/社群营销怎么做
  • 17网站一起做网店官网/电子商务网络营销
  • 西安天气最新公布/seo编辑招聘
  • 兰州百度推广的公司/东莞做网站优化
  • 做愛表情网站/域名ip查询查网址
  • 做定制网站多少钱/seo投放是什么意思
  • 安全的政府网站建设/电脑培训班有哪些科目
  • 新闻网站建设的原因/google adwords关键词工具
  • 仿糗事百科网站源码dede二次开发分享+评论+互动/今日热搜榜排名最新
  • 网站控制/推广怎么做
  • 武汉做网站的公司哪家好/seo运营经理
  • 供应链平台/汕头搜索引擎优化服务
  • 做网站的感想/百度一下知道官网
  • 网站栏目英文/网站seo视频