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

永久免费网站怎么创建网络推广公司深圳

永久免费网站怎么创建,网络推广公司深圳,无锡做网站公司,wordpress首页怎么用ftp修改你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅: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.tj-hxxt.cn/news/23870.html

相关文章:

  • 主机装多个wordpressseo招聘职责
  • wordpress 用户地图长沙网站seo方法
  • 石家庄做网站的百度秒收录
  • 南充网站建设价格sem搜索引擎营销
  • 上海网站建设备案号怎么恢复属于b2b的网站有哪些
  • 阿里服务器怎么做网站服务器新产品的推广销售方法
  • vpsputty做网站西安seo排名外包
  • 做网站服务器e3江苏企业网站建设
  • 网站自己制作网络品牌营销
  • seo网站建设哪家专业关键词seo培训
  • 做网站必须要公司才能做吗福州seo招聘
  • 亚马逊网站链接找代写文章写手
  • 网站图标 psd网络营销与管理专业是干什么的
  • 网站备案ip地址段重庆seo杨洋
  • 进行网站开发百度搜索引擎排行榜
  • 帮人做微信是哪个网站电商网站图片
  • 龙华网站网页设计怎样无货源开网店
  • 制作一个营销型网站免费建自己的网址
  • 汽车专业科技网站建设nba最新消息新闻报道
  • 软考5个高级中哪个好考青岛seo培训
  • 专注于上海seo做网站建设百度网站怎么申请注册
  • 福州网站建设网站设计网站推广关于seo的行业岗位有哪些
  • 宁波市北仑区建设局网站seo发外链工具
  • 开发app和做网站那种网站怎么搜关键词
  • 网站开发网页设计北京师范大学出版社凡科网站登录入口
  • 昌江网站建设厦门人才网手机版
  • 哈尔滨seo优化专注如何seo网站推广
  • 深圳网站快速备案广州seo顾问
  • 网站排名不可有利就前win7怎么优化最流畅
  • 城市分类信息网站建设seo网站优化流程