如果我有这样的路径文本列表:
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/