java - 循环将值输入到 Java Hashmap 中

标签 java hashmap

我正在尝试将值插入到 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/

相关文章:

java - 获取两个不同日期的日期范围

Java异步方法调用/后台处理

java - 在Hadoop中,如果mapper或reducer清理方法失败会发生什么

java - 如何着手在 Android 中创建交互式 map

java - java中使用HashMap的摩尔斯电码

java - HashMap值发送到bean类java

Java JTable 无法加载

java - 今天是一年中的第 n 天

java - 为什么下面的程序中 HashMap 类的 containsValue 方法返回 False?

c++ - 包含图节点作为键的无序映射