gpt4 book ai didi

java - 在 Guava 的帮助下使用另一个 map 变换 map

转载 作者:行者123 更新时间:2023-12-01 12:43:24 27 4
gpt4 key购买 nike

我有两个 map ,我想使用第二个 map 转换第一个 map 值。

Map<T, Double> firstMap = Maps.newHashMap(with some value...);
Map<T, Double> secondMap = Maps.newHashMap(with some value...);

Map<T, Double> finalMap = Maps.newHashMap();
for(Entry<T, Double> entry : firstMap.entrySet())
{
finalMap.put(entry.getKey(), entry.getValue() * secondMap.get(entry.getKey()));
}

我想按以下方式转换第一个 map 。

第一个 Map 中元素 T 的值应与其在第二个 Map 中的值相乘。第一个 map 是第一个 map 的子集。

谢谢。

最佳答案

使用 Guava :

public static final void main(final String... args) {

final Map<String, Integer> map1 = ImmutableMap.of("key0", 2, "key1", 3);

final Map<String, Integer> map2 = ImmutableMap.of("key0", 2, "key1", 3, "key2", 3);

final Map<String, Integer> transformed = Maps.transformEntries(map1,
new EntryTransformer<String, Integer, Integer>() {

@Override
public Integer transformEntry(final String key, final Integer value) {

return map2.get(key) * value;
}
});

//result {key0=4, key1=9}
System.out.println(transformed);
}

关于java - 在 Guava 的帮助下使用另一个 map 变换 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24885551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com