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

最佳答案

目前尚不清楚是否要过滤条目或合并它们。您可以使用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());

关于java - 如何通过将任何条件置于值上将2哈希图添加到1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50592299/

10-14 12:51
查看更多