如何将HashMap值添加到List并打印相同的内容

时间:2013-12-27 15:33:24

标签: java list collections hashmap

我正在尝试将地图值添加到我的方案列表中,如下所示。

我有select语句返回列和行的n-no,我将它们存储到String类型的Hash Map列表中,并将其传递给其他方法以从结果中生成EXCEL文件。

我无法在列表中看到任何数据

请告诉我哪里出错了。

while (result.next()) { 
  resultValues.put("PARTC_ID",result.getString("PARTC_ID"));  
  resultValues.put("FILE_NME",result.getString("FILE_NME"));  
  resultValues.put("LOC_ID",result.getString("LOC_ID")); 
  resultValues.put("CRTE_DTE",result.getString("CRTE_DTE")); 
  resultValues.put("CRTE_BY",result.getString("CRTE_BY")); 
  value.add(resultValues); resultValues.clear(); System.out.println(value); 
} 

1 个答案:

答案 0 :(得分:1)

将地图添加到列表后,您将清除地图。因此Map引用都是相同的(并且为空)...我想你想做出这个改变 -

// resultValues.clear(); // No, if you need another Map... do this
resultValues = new HashMap<String, String>();

然后迭代你的值列表试试

for (HashMap<String, String> map : value) {
  for (String key : map.keySet()) {
    System.out.printf("key[%s] = %s\n", key, map.get(key));
  }
}