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

做线上网站的风险分析一键搭建自己的影视网

做线上网站的风险分析,一键搭建自己的影视网,沭阳苏奥产业园做网站,有关电子商务网站建设的论文目录 一、前言二、具体实现及拓展2.1、递归-目标节点到根节点的路径数据2.2、list转换为tree结构2.3、tree转换为list结构 一、前言 这么多年工作经历中#xff0c;“数据结构和算法”真的是超重要#xff0c;工作中很多业务都能抽象成某种数据结构问题。下面是项目中遇到的… 目录 一、前言二、具体实现及拓展2.1、递归-目标节点到根节点的路径数据2.2、list转换为tree结构2.3、tree转换为list结构 一、前言 这么多年工作经历中“数据结构和算法”真的是超重要工作中很多业务都能抽象成某种数据结构问题。下面是项目中遇到的一个问题。 业务背景 在一个复杂的N叉树目录上通过模糊搜索只返回搜索到的【要返回完整的从root到目标节点】节点链路以便外围系统直接使用 分析 按照实际操作模糊搜索只能搜索到需要的几个目标节点数据但实际业务需要的是这些目标节点到根节点的结构以便完美展示。 问题抽象 N叉树中找到所有目标节点到根节点的数据并构建成tree结构返回。如下图要返回这些目标节点到根节点的整个路径上的节点数据。 二、具体实现及拓展 完整的代码如下 public void filterNodeFromTree(){//查询所有的【有树形结构的】列表数据ListNodeTreeDo originList new ArrayList();MapString,NodeTreeDo originMap originList.stream().collect(Collectors.toMap(NodeTreeDo::getId,ma-ma));//目标节点idListString targetIds new ArrayList();SetString curRootIdSet new HashSet(); //收集某个目标节点到root的路径经过的所有节点for(String id : targetIds){if(curRootIdSet.contains(id)) continue;//已经经历过路径跳过curRootIdSet.addAll(collectNeedNode(originMap,id));}//收集到所有需要的节点的id然后在过滤多余的ListNodeTreeDo needList originList.stream().filter(k-curRootIdSet.contains(k.getId())).collect(Collectors.toList());//构建成treelistToTree(needList);}2.1、递归-目标节点到根节点的路径数据 private SetString collectNeedNode(MapString,NodeTreeDo originMap,String targetId){SetString idResultSet new HashSet();collectNeedNode(originMap,targetId,idResultSet);return idResultSet;}private boolean collectNeedNode(MapString,NodeTreeDo originMap,String targetId,SetString idSet){if(!originMap.containsKey(targetId)) return false;idSet.add(targetId);NodeTreeDo cur originMap.get(targetId);return collectNeedNode(originMap,cur.getParentId(),idSet);} 2.2、list转换为tree结构 private ListNodeTreeDo listToTree(ListNodeTreeDo originList){MapString, ListNodeTreeDo nodeByPidMap originList.stream().collect(Collectors.groupingBy(NodeTreeDo::getParentId));// 循环一次设置当前节点的子节点originList.forEach(node - node.setChildren(nodeByPidMap.get(node.getId())));// 获取 一级列表return originList.stream().filter(k-.equals(k.getParentId())).collect(Collectors.toList());}2.3、tree转换为list结构 private ListNodeTreeDo treeToList(ListNodeTreeDo treeList){ListNodeTreeDo resultList new ArrayList();for(NodeTreeDo node : treeList){getAllListFromChildren(node,resultList);}return resultList;}private void getAllListFromChildren(NodeTreeDo node,ListNodeTreeDo resultList){NodeTreeDo copy CommonUtil.transForm(node,NodeTreeDo.class);copy.setChildren(null); //深度拷贝后把children设置为nullresultList.add(copy);if(CollectionUtils.isNotEmpty(node.getChildren())){for(NodeTreeDo temp : node.getChildren()){getAllListFromChildren(temp,resultList);}}//没子节点了自动会退出}
http://www.zqtcl.cn/news/759730/

相关文章:

  • 网站建设备案和免备案的区别建网站视频教程
  • 网站推广话术wordpress主题没法用
  • 微信网站开发 全屏包头教育云平台网站建设
  • 诸城手机网站建设做竞价网站
  • 网站策划报告公司简介模板范文高大上
  • 做信息图的免费网站如何获取网站是哪个公司制作
  • 乐清建设网站哪家好seo一个月赚多少钱
  • 哈尔滨专业官网建站企业h5公众号开发
  • 商城网站建设精英wordpress实例配置
  • 国内网站开发语言模板兔自用主题WordPress
  • 天津营销网站建设公司哪家好市场营销平台
  • 上海企业响应式网站建设推荐网站建设类织梦模板
  • 洛阳最好的做网站的公司哪家好信誉好的邢台做网站
  • 织梦 旅游网站模板seo百家外链网站
  • 做网站提升公司形象摄影网站建设任务书
  • wordpress建站不好用wordpress共用用户多站点
  • 企业网站设计请示杭州做企业网站的公司
  • 苏宁易购网站建设的不足之处wordpress myisam
  • 互联网站建设维护是做什么的网站建设模板成功案例
  • 制作网站需要什么语言wordpress 免签约支付宝
  • 西安网站开发的未来发展易企网络网站建设
  • 贵州做网站怎么推广vs2012 做网站教程
  • 完全菜鸟七天学会建网站网络营销的四大基础理论
  • 东莞网站优化案例网站职业技术培训学校
  • 银川网站建设公司电话公司在百度做网站找谁
  • 交换链接适用于哪些网站网络规划与设计的目的
  • 网站做标签寺院网站模板
  • 高端h5网站柳州建站
  • 百度商桥网站郑州有做网站的公司没
  • 做专业网站济南品牌网站建设低价