<分区>
我在 Java 中得到了这种类型的 map
Map<Group, List<Person>>
这是一组具有完整成员列表的组。
我想找到使用流和 lambda 表达式的组中数量最多的人,我尝试了一些但没有成功。
你能帮我吗?谢谢
标签 java
<分区>
我在 Java 中得到了这种类型的 map
Map<Group, List<Person>>
这是一组具有完整成员列表的组。
我想找到使用流和 lambda 表达式的组中数量最多的人,我尝试了一些但没有成功。
你能帮我吗?谢谢
最佳答案
您需要的是 .flatMap()
,然后是 .collect()
,它可以找到整个 Map
中每个人的出现频率.
像这样:
Person socialButterfly = groupMap.values()
.stream()
.flatMap(Collection::stream)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet().stream()
.max(Map.Entry.comparingByValue())
.get().getKey();
关于java - 计算各种列表中出现的次数 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468161/
相关文章:
java - 如果常量会阻止使用字符串参数,优化器是否会阻止创建字符串参数?
java - 为什么这个js代码的RSA加密结果和java的RSA标准代码不一样?
java - Ant <javac> 由于 "package javax.servlet does not exist"而失败
java - 如何使用 rawquery 在 Room Library 中创建表?
java - 在 Java 中将给定字符串转换为 List<Class>
java - 有人可以解释 com.google.inject 的作用吗?