我有一个包含多个相似值的MultiMap:
{Entertainment=[5], Food=[2, 2, 2], Products=[11], Health & Beauty=[3]}
我如何计算这些键的总数,使其如下所示?
Entertainment = 1
Food = 3
Products = 1
Health & Beauty = 1
数组中的数字是分类 ID,因此食物出现了 3 次。
MultiMap<String,Integer> map
,您可以执行以下操作:for (String key : map.keySet()) {
int count = map.get(key).size();
}
for (String key : map.keySet())
。 - ColinD使用asMap()
方法,您可以获得Multimap
中Map<String,Collection<Integer>>
表示形式,从中可以直接获取计数而无需多次查找:
for (Map.Entry<String, Collection<Integer>> entry : multimap.asMap().entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue().size());
}
keySet()
而不是keys()
,以仅获取每个键一次。 - ColinD