我有以下几行,是更大功能的一部分:
Collection<String> idSet; //idset != successors.keys()
Map<String, ArrayList> successors; // parameter to larger function
ArrayList<String> result = new ArrayList<String>();
for (String id: idSet) {
ArrayList<String> idsuccessors = this.successors.get(id);
result.addAll(idSuccessors);
}
我想将映射后继者中的所有值组合到一个集合中。尽管上面的代码有效,但我认为必须有一种更简洁的方法(例如,在 Python 中,我用一条短线实现了它)。
result = set.union(*[set(successors(id)) for id in ids])
请注意,如果有帮助,将 Mapping 的类型从 ArrayList 转换为例如 HashSet 不是问题。
非常感谢任何建议。提前致谢