我收到了以下Multimap
,我怎样才能将其转换为MultiMap<String,Integer>
?
Multimap<String, String> multimap= // contents here
答案 0 :(得分:8)
使用Multimaps#transformValues(Multimap, Function)
:
Multimap<String, Integer> transformed = Multimaps.transformValues(multimap,
new Function<String, Integer>() {
@Override public Integer apply(String value) {
return Integer.valueOf(value);
}
});
另见:
或在Java 8 +中:
Multimap<String, Integer> transformed =
Multimaps.transformValues(multimap, Integer::valueOf);
答案 1 :(得分:2)
一种方法是遍历第一个映射中的所有值并对它们使用String.parseInt(),然后将它们添加到新映射中。