我得到了以下内容Multimap
,我该如何将其转换为 MultiMap<String,Integer>
?
Multimap<String, String> multimap= // contents here
使用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);
一种方法是遍历第一个映射中的所有值并对它们使用 String.parseInt(),然后将它们添加到新映射中。