如何通过对值添加任何条件将 2 个哈希图添加到 1 中



我有一个哈希图的值为 {A=true, B=false, C=true},另一个哈希映射的值为 {A=false, B=false, C=false} 现在我想创建另一个哈希映射,其中包含在任何一个哈希映射中为真的元素。 简而言之,我必须使用值必须为真的条件合并两个哈希图

目前尚不清楚您是尝试过滤条目还是合并它们。您可以使用replaceAll()将所有值与其他地图合并,如下所示:

Map<String, Boolean> merged = new HashMap<>(map1);
merged.replaceAll((key, value) -> value || map2.get(key));

如果您只想过滤,则将结果存储在地图中是没有意义的。请改用集合:

Set<String> filtered = Stream.of(map1, map2)
.map(Map::entrySet)
.flatMap(Set::stream)
.filter(Map.Entry::getValue)
.map(Map.Entry::getKey)
.collect(Collectors.toSet());

最新更新