我正在尝试将值插入到 HashMap 中。当从字符串列表中检索值时,我将其置于循环中。代码如下:
HashMap<String, String> resultHashMap = new HashMap<String, String>();
//add the top document id back to the resultHashMap
resultHashMap.put("entryObject", dsStepParam.getValue());
for(String res : results)
{
log.info(res);
resultHashMap.put("dataObject", res);
}
hashMap(在此循环之后应包含以下内容:
{"entryObject":"500386787",
"dataObject":"500386883;500901929",
"dataObject":"500386906;500901969",
"dataObject":"500386787;500901666",
"dataObject":"500386784;500901654",
"dataObject":"500386762;500901599"}
但实际内容是:
{"entryObject":"500386787",
"dataObject":"500386762;500901599"}
正如你所看到的,它只存储了entryObject和最后一个dataObject。 如何让它存储 hashMap 中的所有值?
最佳答案
它只存储最后一个条目,因为 HashMap 中不允许重复的键。要存储所有元素,您可以执行类似的操作
int count = 0;
for(String res : results)
{
log.info(res);
resultHashMap.put("dataObject-"+count, res);
count++;
}
因此你会得到这样的东西
{"entryObject":"500386787",
"dataObject-1":"500386883;500901929",
"dataObject-2":"500386906;500901969",
"dataObject-3":"500386787;500901666",
"dataObject-4":"500386784;500901654",
"dataObject-5":"500386762;500901599"}
关于java - 循环将值输入到 Java Hashmap 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19835277/