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

网站服务器做下载链接镇江网站建设推广

网站服务器做下载链接,镇江网站建设推广,马鞍山网站建设公,重庆微信企业网站在实际开发中经常会遇到返回树形结构的场景&#xff0c;特别是在处理文件系统或者是文件管理系统中。下面就介绍一下怎么将文件路径转成需要的树形结构。 在Java中&#xff0c;将List<String>转换成树状结构&#xff0c;需要定义一个树节点类&#xff08;TreeNode&#…

在实际开发中经常会遇到返回树形结构的场景,特别是在处理文件系统或者是文件管理系统中。下面就介绍一下怎么将文件路径转成需要的树形结构。

在Java中,将List<String>转换成树状结构,需要定义一个树节点类(TreeNode),然后遍历列表中的每个路径,将每个路径分割成多个部分,并根据这些部分构建树。下面是一个简单的实现示例:

首先,定义一个树节点类TreeNode

    public static class TreeNode {String val;Map<String, TreeNode> children;TreeNode(String val) {this.val = val;this.children = new HashMap<>();}void addChild(String val, TreeNode child) {children.put(val, child);}TreeNode getChild(String val) {return children.get(val);}}

然后,可以使用以下封装的代码将List<String>转换成树状结构:

public static Map<String, TreeNode> buildTree(List<String> paths, String split) {logger.info("[字符串转Tree结构]开始...params paths:{}", paths);if (paths == null || paths.isEmpty()) {return Collections.emptyMap();}Map<String, TreeNode> roots = new HashMap<>();for (String path : paths) {// 拆分路径String[] parts = path.split(split);if (parts.length == 0) {continue;}String rootVal = parts[0];TreeNode root = roots.get(rootVal);// 不存在,则创建它if (root == null) {root = new TreeNode(rootVal);roots.put(rootVal, root);}// 从根节点的子节点开始构建剩余路径TreeNode currentNode = root;for (int i = 1; i < parts.length; i++) {String part = parts[i];TreeNode child = currentNode.getChild(part);// 子节点不存在,则创建它if (child == null) {child = new TreeNode(part);currentNode.addChild(part, child);}// 移动到子节点,继续构建路径currentNode = child;}}return roots;}

有时候我们需要将结果展示,这个时候就需要封装一个printTree方法,printTree方法使用一个prefix 参数来保持适当的缩进,从而清晰地显示树状结构。它首先打印当前节点的名称,然后递归地调用自身来打印每个子节点,每次递归调用时都增加缩进。

    public static void outTreeHtmlStyle(TreeNode root, String prefix, StringBuilder sb) {if (root == null) {return;}String emptyFlag = "&nbsp;&nbsp;";sb.append(emptyFlag).append(prefix).append(root.val).append("</br>");for (TreeNode child : root.children.values()) {outTreeHtmlStyle(child, prefix + "|" + emptyFlag, sb);}}

最后在HTML中展示的效果如下:

http://www.jinmujx.cn/news/115646.html

相关文章:

  • 网上做流量对网站有什么影响关注公众号一单一结兼职
  • 郑州做网站制作的公司制作网页的流程
  • 设计学类整站优化系统
  • 郴州网站seo产品营销策略怎么写
  • 长治做网站公司绍兴seo
  • 佛山市seo推广哪家好百度关键词优化策略
  • 阿里云上做网站靠谱吗星乐seo网站关键词排名优化
  • 上海网站建设caiyiduo好的在线crm系统
  • 为自己家秘方做网站东莞网络公司排行榜
  • 假如做网站推广如何推广热狗网站排名优化外包
  • 网站备案需要收费么分析网站推广和优化的原因
  • 简述上课网站建设所用的技术架构怎么自己找外贸订单
  • 重庆所有做网站的公司免费的推广软件下载
  • 手机网站建设企业温州seo排名公司
  • 新网站如何做优化网站模板源码
  • 做淘宝客没有网站怎么做有哪些可以免费推广的平台
  • 怎么做公司的网站宣传百度排名优化专家
  • 做网站做的好的公司有哪些易观数据app排行
  • 做品牌网站怎么样现在有哪些免费推广平台
  • 建设企业网站公司在哪里百度近日收录查询
  • 网站推广企业网页设计流程步骤
  • 可信网站多少钱网络营销有哪些
  • 怎么网站设计关联词有哪些三年级
  • 武汉那些网站做家教的软文营销网站
  • 专业做网站公司24小时接单中国新闻发布
  • wordpress 4.5.4 json青岛seo经理
  • h5制作开发哪找seo文案范例
  • 哈密建设局网站国内新闻最新消息10条
  • 免费做简历网站有哪些开网站需要多少钱
  • 定制网站建设公司推荐长春关键词搜索排名