Java - 从第一个父级开始的组路径列表

标签 java path parent-child grouping

如果我有这样的路径文本列表:

folder1/A
folder1/B/H
folder1/C/F
folder2/D
folder2/E
folder2/F
folder3/G
folder3/H
folder3/I

按第一个目录对它们进行分组的最佳方式是什么?

像这样的输出:

folder1 [A, B/H, C/F]
folder2 [D, E, F]
folder3 [G, H, I]

最佳答案

假设您有一个字符串列表 ls 作为包含所有字符串的输入:

Map<String, List<String>> map = new HashMap<>();
for(String s: ls){
  String[] k = s.split("/");
  if(k.length<2)
     throw new RuntimeException("Invalid input");
  if(map.get(k[0]==null)
     map.put(k[0], new ArrayList<String>());
  map.get(k[0]).add(Arrays.asList(Arrays.copy(k,1,k.length));
}

关于Java - 从第一个父级开始的组路径列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16015946/

相关文章:

java - 如何与 ExtJS MessageBox 元素中的按钮进行交互?

android - Android Studio 使用的默认 Android SDK 路径是什么?

shell - powershell 命令未在 .bat 文件中运行?

flutter - Bloc 流未正确更新

javascript - 在通过 child.print() 打印之前,如何等待图像加载到新窗口中?

html - CSS : last child no border

Java 最终字段 : is "taint" behavior possible with the current JLS

java - 使用 spring mongoTemplate 进行条件/最大 mongo 查询

java - 在 Android Studio 上测试时尝试读取文件时,应用程序会关闭

javascript - 在 VSCode 中如何正确配置 jsconfig.json 以便使用 index.js 导入的绝对路径工作?