java:获取Map <String,Set <String >>中所有不同键和值的计数

梅瓦基

输入:Map <String,Set>地图

例如:map =

    {"a"=[], 
    "b"=["b", "1", "2", "4"]}

预期输出:5(“ b”作为键和值出现。应计为1)

到目前为止,这是我尝试过的。有一个更好的方法吗?

    Set<String> o = new HashSet<String>();
    o.addAll(m1.keySet());
    o.addAll(m1.values().stream().flatMap(Collection::stream).collect(Collectors.toSet()));
    System.out.println(o.size());

是否可以在地图的条目集上进行流传输以达到此输出?另外,创建单独的哈希集看起来并不必要只是为了计数

他们是

您可以执行以下操作:

Set<String> o = m1.entrySet()
                  .stream()
                  .flatMap(e -> Stream.concat(Stream.of(e.getKey()),e.getValue().stream()))
                  .collect(Collectors.toSet());

即创建Stream<String>的每个条目Map

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从Map <String,Set <Integer >>收集键的Set <String>的值

在Java中以Map <String,List <Map <String,Map <String,String >>>>''中的列表的形式获取Map中最里面的值

连接列表中所有Map的String值

将值添加到Map <String,Set <String >>中的所有Set(地图中的值)

java 8 可选 Map<String, Set<String>>

在Dart中将Map的所有键和值转换为String

如何在Swift中将所有键和值从NSDictionary获取到单独的String数组中?

如何迭代这个结构 Map<String, Map<String, Set<String>>> 并将其值传递给方法?

从Java中的Map <String,String>查找部分键及其值

Sqlite获取行中所有不同值的计数

在Map <String,Object>中找到所有作为键显示的字符串,但在Set <String>中找不到。爪哇

不能将“Set<String?>”类型的值分配给“Map<String, String>”类型的变量

从API获取Map <String,dynamic>后的值

我有 Java Map<String,List<String>> 和 String var,如何在不使用 For 循环的情况下返回其值(列表)包含 String var 的键

比较Set <String>与Map <Object>以获得Java 8中的Map值

Java:从Set <String>枚举

C#从List <KeyValuePair <string,string>获取键和值

Java Map <String,Set <String >>初始化类型

如何从map(string,string)字段获取特定值?

获取FutureBuilder中Future <Map <String,String >>的值

如何从 MyBatis 获取 Map<String, Integer> ?原因:java.sql.SQLException:getInt() 的值无效 - 'NONE'

如何在Java8的List <Map <String,Object >>中获取最大值

Map <String,Map <String,String >>-使用Stream选择值键

Scala:如何从 Option[Map[String, Int]] 中获取所有键?

Java8:通过联接值将Map <String,List <String >>转换为Map <String,String>

如何将Set [String]转换为Map [String,String]?

减少/收集`List<Map<String, Set<String>` 到`Map<String, Set<String>>`

从 ArrayList<MyObject> 获取 Set<String>

将 Set<V> 转换为 Map<String, Set<String>