java - 将 URL 列表转换为树

标签 java swing sitemap jtree

为了确保我没有重新发明轮子,我想看看是否有一些已知的算法、类或其他东西可以帮助我解决我的问题。我有一个来自应用程序的大量 URL 列表。我想将这些 URL 馈送到树中以创建类似站点地图的数据结构。

好像以前也做过这样的事情。但是,我从搜索中看到的所有内容似乎都是从 xml 到树。理想情况下,我希望在 Java 中得到答案,但我确信如有必要,我可以自己将其翻译成 Java。如果我需要自己做,我可能会获取每个 URL 并将它们分解成索引。

[root]        [0]  [1]  [1] -file
wwe.site.com/dir1/dir2/file.html
[root]        [0]  [1]  [1]
www.site.com/dirabc/dir2/file.html

因此,我会将每个 url 解析为偏移量 [0]、[1]、[2]、… 等,然后将它们深入到树中添加它们的位置。这至少是我最初的计划。我愿意接受任何和所有的建议!

最佳答案

您可以将 UrlTree 定义为嵌套的 HashMap

public class UrlTree {

  private final Map<String, UrlTree> branches = new HashMap<String, UrlTree>();

  public void add(String[] tokens, int i) {
    if (i >= tokens.length) {
      return;
    }

    final String token = tokens[i];

    UrlTree branch = branches.get(token);

    if (branch == null) {
      branch = new UrlTree();
      branches.put(token, branch);
    }

    branch.add(tokens, i + 1);
  }

  ...
}

关于java - 将 URL 列表转换为树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12559227/

相关文章:

java - 如何让本地多人java游戏在线运行?

java - Java 运行时环境是否可以自由使用原始数据类型所需的任何大小?

java - apache poi indexoutofbound 异常

java - 为什么这个 JFrame 中的文本不闪烁?

sql - ASP.NET 站点地图

seo - 对 sitemap_index.xml 的困惑

java - 用java创建一个视频游戏Mario(Nes版本)需要多少知识?

java - 从 ButtonGroup() 返回值

java - 如何用 Java 重新绘制面板?

seo - 如何删除谷歌结果中带有参数的网址