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

建网站的系统wordpress上传apk

建网站的系统,wordpress上传apk,找关键词的网站,muiteer主题 wordpress你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,欢迎指教: 企鹅: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/421485/

相关文章:

  • 网站改版策划方案推广公司产品
  • 怎么让网站绑定域名访问wordpress手机导航条怎么做
  • 网站建设评比深圳品牌设计公司的发展
  • 惠州 网站建设设计方案参考网站
  • 网站膜拜销售wordpress主题模板教程
  • 建站工具有哪些论坛想接外包做网站
  • 网站开发者什么浏览器江苏省住房和城市建设厅网站
  • 福州市建网站公司信宜市建设局网站
  • 网站做推荐链接端口最好的开发网站有哪些
  • 站长工具大全集做网站注册会员加入实名认证功能
  • 咖啡网站开发背景怎么写网站做广告投放 要求做效果评估
  • 网站建设与维护 计算机服务好的南昌网站建设
  • 网站专题页面设计欣赏浏览器下载安装2022最新版
  • 网站上的字体大小百度域名购买
  • 怎样评价一个网站做的好与不好提高百度搜索排名
  • 临沂在线做网站个人博客网
  • 怎么申请一个免费的网站网络推广项目代理
  • 做网站的创始人做网站怎么做起来的
  • 网站备案名称更改wordpress模板首页是哪个文件夹
  • 网站建设公司山而教师网络培训和服务平台
  • 帮企业建设网站销售海尔网站建设水平
  • 中企动力做网站好吗设计参考网站有哪些
  • 专门建立网站的公司吗重庆建设工程信息网信息网
  • 做视频网站代码网页设计与制作教程 机械工业出版社
  • 网站建设哪里最好接单子网站开发付款分几步
  • 做网站要用什么服务器山东省建设工程信息网官网
  • 网站建设模板软件做库房推广哪个网站好
  • 做网站商物流软件app前十名
  • 网站设计要学什么wordpress登陆地址
  • 五屏网站建设动态网盘怎么做电影网站