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

什么网站做视频赚钱网站建设行业细分

什么网站做视频赚钱,网站建设行业细分,做智能网站软件下载,国家建设部网站首页你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅:869192208 文章目录 前言代码实现定义测试实体类实现方法 前言 最近遇到一个地区数据需要转换成树的需求,研究了一种…

你知道的越多,你不知道的越多
点赞再看,养成习惯
如果您有疑问或者见解,欢迎指教:
企鹅:869192208

文章目录

        • 前言
        • 代码实现
          • 定义测试实体类
          • 实现方法

前言

最近遇到一个地区数据需要转换成树的需求,研究了一种新方法,不使用传统递归的方式,而是使用 stream 流的方式构建树。

代码实现
定义测试实体类
import lombok.Data;
import java.util.List;/*** <h2> </h2>** @author xymy* @date 2023/12/21 17:17*/
@Data
public class TsModel {private String id;private String name;private String pid;private List<TsModel> childs;
}
实现方法
public static void main(String[] args) {String str = "[\n" +"    {\"id\":\"1\",\"name\":\"张三\",\"pid\":\"\"},\n" +"    {\"id\":\"2\",\"name\":\"张三2\",\"pid\":\"\"},\n" +"    {\"id\":\"3\",\"name\":\"张三3\",\"pid\":\"\"},\n" +"    {\"id\":\"4\",\"name\":\"张三4\",\"pid\":\"\"},\n" +"    {\"id\":\"33\",\"name\":\"张三33\",\"pid\":\"3\"},\n" +"    {\"id\":\"330\",\"name\":\"张三330\",\"pid\":\"3\"},\n" +"    {\"id\":\"3301\",\"name\":\"张三330\",\"pid\":\"330\"},\n" +"    {\"id\":\"41\",\"name\":\"张三41\",\"pid\":\"4\"}\n" +"]";List<TsModel> tsModels = JSONArray.parseArray(str, TsModel.class);Map<String, List<TsModel>> pModels = tsModels.stream().collect(Collectors.groupingBy(ts -> StringUtils.isBlank(ts.getPid()) ? "" : ts.getPid()));List<TsModel> childTs = new ArrayList<>();for (TsModel tsModel : tsModels) {String id = tsModel.getId();List<TsModel> childModel = pModels.get(id);if (CollectionUtils.isNotEmpty(childModel)) {tsModel.setChilds(childModel);childTs.addAll(childModel);}}Set<String> childSeqs = childTs.stream().map(t -> t.getId()).collect(Collectors.toSet());List<TsModel> newTree = tsModels.stream().filter(tsm -> !childSeqs.contains(tsm.getId())).collect(Collectors.toList());System.out.println(JSON.toJSONString(newTree));}

打印结果:

[{"id": "1","name": "张三","pid": ""},{"id": "2","name": "张三2","pid": ""},{"childs": [{"id": "33","name": "张三33","pid": "3"},{"childs": [{"id": "3301","name": "张三330","pid": "330"}],"id": "330","name": "张三330","pid": "3"}],"id": "3","name": "张三3","pid": ""},{"childs": [{"id": "41","name": "张三41","pid": "4"}],"id": "4","name": "张三4","pid": ""}
]

至此,就实现了列表转成树的逻辑。

http://www.yayakq.cn/news/537965/

相关文章:

  • 网站死链接怎么删除近期重大新闻事件
  • 网站开发形象设计要求wordpress检查后门
  • 设计网站页面出现问题贵阳美容网站建设
  • 一个网站两个域名备案沈阳网站建设搜q479185700
  • 网站主机免费申请代理ip提取网站源码
  • 手机怎样使用域名访问网站app定制哪里找
  • 网站ui设计例子网站seo推广优化报价表
  • 惠州网站建设模板wordpress博客注册
  • php网站模板源码厦门seo优化推广
  • 专业网站建设哪里找软件开发公司地址
  • 高唐网站建设公司自适应网站建设极速建站
  • 哪个公司可以做网站制造业公司有必要建设网站吗
  • 网站服务器的搭建网站的按钮怎么做的
  • 网站建设尾款放在什么科目里图片编辑工具免费版
  • 网站建设编辑器那个网站招丑的人做网红
  • 做静态网站成本邢台公司网站设计
  • 天津市哪里有做网站的设计师必去的网站
  • 建那种外卖网站该怎么做想做电商应该怎么入门
  • 网站开发规划网站建设的方案计划
  • win7iis配置网站美橙互联网站
  • 官方网站的必要性什么是论坛推广
  • 陕西网站建设公司哪有上海网站建设公司介绍
  • 中国黄金集团建设有限公司官方网站wordpress用户中心
  • 0wordpress山西seo网站设计
  • 宁波市省网站建设wordpress侧边栏颜色
  • 如何查找昆明公司的网站门户网站 特点
  • 做网站开发有前途吗网站策划书网站需求分析
  • 北京西站24小时人工服务电话西安网站建设个人
  • 资阳公司网站建设企业网站后台内容如何修改
  • 做pvc卡片的交流网站交互网站怎么做的