如何将来自不同 linkedHashMap 的具有相同键名的两个值相乘?
How to multiply two values with the same key name from different linkedHashMaps?
我有两个 linkedHashmap,它们具有相同的长度和相同的键名,但值不同。例如:
Map<String, Double> map1= new LinkedHashMap<String, Double>();
map1.put("A", 2.3);
map1.put("B", 6.1);
map1.put("C", 5.3);
Map<String, Double> map2= new LinkedHashMap<String, Double>();
map2.put("A", 10.3);
map2.put("B", 60.1);
map2.put("C", 0.3);
我如何将 map1 中的每个值与 map2 中的相同对应键(A 2.3*10.3、B 6.1*60.1 等)相乘并将结果保存到新的 linkedHashMap?
我试过了,但没有成功。
Map<String, Double> map3= new LinkedHashMap<String, Double>();
double valueMap1 = map1.get(key);
double valueMap2 = map2.get(key1);
for(String key : map1.keySet())
for(String key1 : map2.keySet()){
if(map1.containsKey(key1)){
double newValue =valueMap1* valueMap2;
map3.put(key1, newValue);
}
}
这是应该可以解决您的问题的循环
Map<String, Double> map3= new LinkedHashMap<String, Double>();
for(String key : map1.keySet()) {
if(map2.containsKey(key)) {
map3.put(key, map1.get(key) * map2.get(key);
}
}
我有两个 linkedHashmap,它们具有相同的长度和相同的键名,但值不同。例如:
Map<String, Double> map1= new LinkedHashMap<String, Double>();
map1.put("A", 2.3);
map1.put("B", 6.1);
map1.put("C", 5.3);
Map<String, Double> map2= new LinkedHashMap<String, Double>();
map2.put("A", 10.3);
map2.put("B", 60.1);
map2.put("C", 0.3);
我如何将 map1 中的每个值与 map2 中的相同对应键(A 2.3*10.3、B 6.1*60.1 等)相乘并将结果保存到新的 linkedHashMap?
我试过了,但没有成功。
Map<String, Double> map3= new LinkedHashMap<String, Double>();
double valueMap1 = map1.get(key);
double valueMap2 = map2.get(key1);
for(String key : map1.keySet())
for(String key1 : map2.keySet()){
if(map1.containsKey(key1)){
double newValue =valueMap1* valueMap2;
map3.put(key1, newValue);
}
}
这是应该可以解决您的问题的循环
Map<String, Double> map3= new LinkedHashMap<String, Double>();
for(String key : map1.keySet()) {
if(map2.containsKey(key)) {
map3.put(key, map1.get(key) * map2.get(key);
}
}