我在Java中有一个这种类型的地图,
Map<Group, List<Person>>
它是一组包含整个成员列表的组.我想找到使用流和lambda表达式在最大数量的组中的Person,我尝试了一些但是没有成功.你能帮我吗?谢谢
你需要的是.flatMap()一个能.collect()找到每个人整体频率的a Map.
像这样的东西:
Person socialButterfly = groupMap.values()
.stream()
.flatMap(Collection::stream)
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
.entrySet().stream()
.max(Map.Entry.comparingByValue())
.get().getKey();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |