是否有内置的Java方法将多个映射作为参数并在这些映射中返回一组所有键?
像
这样的东西public static Set<String> getKeys(Map<String, ?> ... arg2){
Set<String> result = new HashSet<>();
for (Map<String, ?> map : arg2) {
for (Map.Entry<String, ?> entry : map.entrySet()) {
String key = entry.getKey();
result.add(key);
}
}
return result;
}
答案 0 :(得分:6)
不是我知道,不是。但是,让我们对Java 8流有一些乐趣,不管吗?
private Set<String> keys(Map<String, ?>... maps) {
return Arrays.stream(maps).flatMap((map) -> map.keySet().stream()).collect(Collectors.toSet());
}
答案 1 :(得分:3)
您可以使用Java 8和流。
public static Set<String> getKeys(Map<String, ?> ... arg2){
return Arrays.stream(arg2)
.map(Map::keySet)
.flatMap(Collection::stream)
.collect(Collectors.toSet());
}