如何将MultiMap <string,string =“”>转换为MultiMap <string,integer>?</string,integer> </string,>

时间:2013-07-01 10:23:20

标签: java guava

我收到了以下Multimap,我怎样才能将其转换为MultiMap<String,Integer>

Multimap<String, String> multimap= // contents here

2 个答案:

答案 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(),然后将它们添加到新映射中。