HashMap 将所有键复制到 HashMap 并将值初始化为零

2023-12-21

什么是最好的方法 ?

只需循环并输入键和零,或者是否有另一种更优雅或现有的库方法。我也在使用 Google 的 guava java 库,它是否有任何有用的功能?

想检查是否有类似于列表或地图的复制方法的东西putAll http://download.oracle.com/javase/1.4.2/docs/api/java/util/Map.html#putAll%28java.util.Map%29方法,但仅用于键。


不要认为这里有太多需要任何花哨的东西:

Map<String, Boolean> map = ...;
Map<String, Integer> newMap = Maps.newHashMapWithExpectedSize(map.size());
for (String key : map.keySet()) {
  newMap.put(key, 0);
}

如果你确实想要番石榴的一些奇特的东西,有这个选项:

Map<String, Integer> newMap = Maps.newHashMap(
    Maps.transformValues(map, Functions.constant(0)));

// 1-liner with static imports!
Map<String, Integer> newMap = newHashMap(transformValues(map, constant(0)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HashMap 将所有键复制到 HashMap 并将值初始化为零 的相关文章

随机推荐