-2
同じキー名で同じ長さの2つのリンクされたハッシュマップがありますが、値は異なります。例えば:異なるリンクされたハッシュマップから同じキー名で2つの値を掛ける方法は?
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);
私はMAP2で同じ対応するキーとMAP1からそれぞれの値を乗算する方法を(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);
}
}
あなたの問題を解決する必要がありますループで、何をしようとしたのですか? –
解決策は非常に簡単です。何を試したのか、どこで失敗したのか説明してください。最初に試したことがない場合は試してみてください。うまくいかない場合は –
2つのリンクされたハッシュマップのキーの順序は同じですか?次にソートされたマップの値をリストとして取得し、必要な乗算を行い、値を新しいリストに保存してから、キーと値を組み合わせることができます。 – lenach87