origMap のキーを otherMap でチェックしたい。
新しいハッシュマップに配置します。見つからない場合は、Bigdecimal を使用して origmap のすべての値を計算し、キー "other" として同じマップに配置し、値を bigdecimal 出力として計算します。私は以下のようにしようとしていますが、何が問題なのかわかりません。
マップ:
HashMap < String, Object > origMap = new HashMap < String, Object > ();
origMap.put("test", "1");
origMap.put("test2", "100.00");
origMap.put("test3", "3");
origMap.put("test4", "300.23");
HashMap < String, Object > otherMap = new HashMap < String, Object > ();
otherMap.put("test3", "fee");
otherMap.put("test2", "tax");
コード:
Map newMap = new HashMap();
BigDecimal value1 = null;
for (Map.Entry <? , ?> me: origMap.entrySet())
{
String key = "";
String value = "";
if (otherMap.get(key).equals(me.getKey()))
{
key = otherMap.get(me.getKey()).toString();
value = origMap.get(me.getKey()).toString();
newMap.put(key, value);
}
else
{
value = origMap.get(me.getKey()).toString();
value1 = value1.add(new BigDecimal(value));
}
queryMap.put("others", value1);
}