从一组集合“groups”开始:
Set<Set<String>> groups = new HashSet<>();
我希望创建一个新的集合列表,通过合并所有具有共同元素的子集来实现:
即,从以下集合开始:
A = {a, b, c}
B = {c, d, e, f}
C = {f, g, h, i, j}
D = {k, l, m}
E = {m, n, o}
F = {p, q, r}
最终结果将是:
Set 1 = {a, b, c, d, e, f, g, h, i, j}
Set 2 = {k, l, m, n, o}
Set 3 = {p, q, r}
任何关于如何完成这个任务的建议都将不胜感激。
编辑:如果集合不均匀,它会执行相同的操作。所以如果它是一个方法,伪代码看起来会像这样:
public void doStuff(){
Set<Set<String>> groups = {{a,b,c}, {c,d,e,f}, {m, n, o}}
Set<Set<String>> newGroups = mergeSubsets(groups);
System.out.println(newGroups);
}
public Set<Set<String>> mergeSubsets(Set<Set<String>> groups){
//some operations
}
控制台输出:
New Groups: {{a,b,c,d,e,f}, {m, n, o}}
c
? - shmosel