gpt4 book ai didi

java - 将两个 HashMap 的值相乘

转载 作者:行者123 更新时间:2023-12-02 05:11:23 25 4
gpt4 key购买 nike

如果我有两个 HashMaphm1hm2,我如何迭代这两个并将两个值相乘指向两个 HashMap 并求和?它们的顺序相同,因此我不需要担心键,只需担心值。

数据的格式为

hm1 = 
(A, 3)
(B, 4)
(C, 7)

hm2 =
(A, 4)
(B, 6)
(C, 3)

然后我想做这样的事情,但显然这段代码是不正确的,因为我只是迭代 hm1。

double sum = 0.00;
for (Map.Entry<String, Double> hm : hm1.entrySet()) {
sum += hm1.getValue() * hm2.getValue();
}

所以我基本上会循环并执行:

1st iteration: Sum = 0 + 3*4
2nd Iteration: Sum = 12 + 4*6
3rd iteration: Sum = 36 + 7*3
Exit Loop:
Sum = 57

感谢您给我的任何帮助。

最佳答案

假设两个 HashMap 具有相同数量的条目,并且所有条目具有相同的对应键,那么获取总和的可靠方法如下:

double sum = 0;

/* iterate through all the keys in hm1 */
/* order doesn't matter */
for (String key : hm1.keySet()) {
double value1 = hm1.get(key);
double value2 = hm2.get(key);
sum += value1 * value2;
}

关于java - 将两个 HashMap 的值相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27309339/

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