我如何像这样打印HashMap的值:

字符串hashMapValues = PHOTO_IDS.get(所有值);

hashMapValues输出为:
id1,id2,id3,id4,id5

HashMap<String,String> PHOTO_IDS;

onCreate....
PHOTO_IDS = new HashMap<String, String>();

if(vc.readLAST_TAKEN_PIC().equals("imageCam1")) { PHOTO_IDS.put("imageCam1", id); }
                   else if(vc.readLAST_TAKEN_PIC().equals("imageCam2")) { PHOTO_IDS.put("imageCam2", id); }
                   else if(vc.readLAST_TAKEN_PIC().equals("imageCam3")) { PHOTO_IDS.put("imageCam3", id); }
                   else if(vc.readLAST_TAKEN_PIC().equals("imageCam4")) { PHOTO_IDS.put("imageCam4", id); }
                   else if(vc.readLAST_TAKEN_PIC().equals("imageCam5")) { PHOTO_IDS.put("imageCam5", id); }


非常感谢您的帮助。

更新_____________________________________________

谢谢大家的答复。这是工作代码:

String hashmapValues = PHOTO_IDS.values().toString();
TMP_PHOTO_ID = hashmapValues.replaceAll("[\\[\\]]", "");

最佳答案

您可以使用entrySet()打印所有值,如下所示:

更新:使用StringBuilder

StringBuilder s = new StringBuilder();
for(Entry<String,String> e : PHOTO_IDS.entrySet()){
   s.append(e.getValue() + ", ");
}
String result = s.toString();


有关更多信息,请参考HashMap#entrySet() java documentation

还有另一种直接获取逗号分隔值的方法,如下所示:

String result = PHOTO_IDS.values().toString();


但这将以[id1, id2, id3, id4, id5]的形式返回输出,因此您只需要除去那些使用[]即可轻松完成的括号substring

10-07 15:14