【发布时间】:2014-02-18 14:15:02
【问题描述】:
我必须将 Guava Multiset<String> 转换为 Map<String, Integer>(键、计数)。
我找不到任何实用功能。有什么比我下面的代码更短的吗?
private static Map<String, Integer> multisetToMap(final Multiset<String> multiset) {
Map<String, Integer> result = new HashMap<>();
for(String element: multiset.elementSet()) {
result.put(element, multiset.count(element));
}
return ImmutableMap.copyOf(result);
}
【问题讨论】:
-
在codereview.stackexchange.com 上发布这个可能会更好。一种观察是使用
ImmutableMap.Builder而不是填充HashMap然后复制它。 -
@PaulBellora
Collections.unmodifiableMap()也是一个选项。
标签: java collections guava