我有一个 Map<Integer,Integer>
1 10
2 10
3 20
5 20
6 11
7 22
Run Code Online (Sandbox Code Playgroud)
如何找到地图的最大重复值?在这种情况下 - 即10和20.两种情况下重复计数为2.
不要重新发明轮子并使用类的frequency方法Collections:
public static int frequency(Collection<?> c, Object o)
Run Code Online (Sandbox Code Playgroud)
如果你需要计算所有值的出现次数,请巧妙地使用Map和循环:)或者使用frequency上面的方法将值放在Set的每个元素的Set和循环中.HTH
如果您喜欢使用lambdas的功能更强大的Java 8单线程解决方案,请尝试:
Map<Integer, Long> occurrences =
map.values().stream().collect(Collectors.groupingBy(w -> w, Collectors.counting()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4178 次 |
| 最近记录: |