【发布时间】:2018-01-18 19:55:37
【问题描述】:
我有Multimap,它包含两个字符串。示例:
1 = [key,car],
2 = [key,blue],
3 = [key,car]
Multimap 定义(我正在使用 Guava 库):
ListMultimap<Integer, String> map_multi = ArrayListMultimap.create();
这就是我在 MultiMap 中输入值的方式:
for (int i = 0; i < list.size(); i++) {
if (i + 1 < list.size()) {
multimap.put(i,(String) list.get(i));
multimap.put(i,(String) list.get(i+1));
} else if (i + 1 == list.size()) {
}
}
我想计算多图中相同值的出现次数。
所以如果我计算我的多重映射中有多少个值[key,car](我上面给出的示例),结果应该是 2:
- 出现
[key,car]= 2 - 出现
[key,blue]= 1
我也尝试用多值HashMap 来实现它,我用这个来计算它,方式(Storage 是我在对象内存储两个字符串值的类):
B = Collections.frequency(new ArrayList<Storage>(map.values()), map.get(number));
但我没有得到正确的结果。
【问题讨论】:
-
您的 Multipmap 定义是什么样的?
-
@ramazankul 我已经编辑了我的帖子
-
您想计算多图中所有不同的元组吗?为什么不将它们全部添加到 Set 中并获取其大小?
-
@AntonAdanasjew 我想计算相同的出现次数,而不是 MultiMap 中有多少不同的元组。 :)
-
由于您的问题有点模糊,如果您也为您的示例显示所需的输出将会很有帮助。
标签: java hashmap guava multimap