【发布时间】:2023-04-05 03:24:01
【问题描述】:
以下是来自 2 个linkedHashMaps 的数据:
valueMap: { y=9.0, c=2.0, m=3.0, x=2.0}
formulaMap: { y=null, ==null, m=null, *=null, x=null, +=null, c=null, -=null, (=null, )=null, /=null}
我想要做的是将第一张地图中的值输入到第二张地图中的相应位置。两个地图都以 String,Double 作为参数。
这是我目前的尝试:
for(Map.Entry<String,Double> entryNumber: valueMap.entrySet()){
double doubleOfValueMap = entryNumber.getValue();
for(String StringFromValueMap: strArray){
for(Map.Entry<String,Double> entryFormula: formulaMap.entrySet()){
String StringFromFormulaMap = entryFormula.toString();
if(StringFromFormulaMap.contains(StringFromValueMap)){
entryFormula.setValue(doubleOfValueMap);
}
}
}
}
这样做的问题是它会将所有值(即 y、m、x、c)设置为最后一个 double 的值。遍历这些值也不起作用,因为这些值的顺序通常与 formulaMap 中的顺序不同。理想情况下我需要说的是如果formulaMap中的字符串与valueMap中的字符串相同,请将formulaMap中的值设置为与valueMap中的值相同。
如果您对我能做什么有任何想法,请告诉我?
【问题讨论】:
标签: java linkedhashmap setvalue