我有一个具有多个相似值的MultiMap:
{Entertainment=[5], Food=[2, 2, 2], Products=[11], Health & Beauty=[3]}
如何统计这些键的总数,使其计算如下?
Entertainment = 1
Food = 3
Products = 1
Health & Beauty = 1
数组中的数字是类别ID,因此Food有3次出现。
答案 0 :(得分:11)
multimap.get(key).size()
或multimap.keys().count(key)
应该有效。
答案 1 :(得分:1)
假设您的地图声明如下:MultiMap<String, Integer> map
,您可以执行以下操作:
for (String key : map.keySet()) {
int count = map.get(key).size();
}
答案 2 :(得分:0)
使用asMap()
,您可以获得Map<String, Collection<Integer>>
的{{1}}表示形式,无需多次查找即可直接从中获取计数:
Multimap
注意:要获取for (Map.Entry<String, Collection<Integer>> entry : multimap.asMap().entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue().size());
}
上的Set
个密钥,您需要致电Multimap
,不 keySet()
(其中包含重复次数)关键的次数和价值一样多。)