如何在Android中打印HashMap中的所有键和值?

2022-08-31 13:43:16

我对Android开发非常陌生,我正在尝试在Android示例项目中使用HashMap。现在,我正在为学习机器人做示例项目。我只是在HashMap中存储键和值,我想在EditView中显示键及其值。我在示例项目中遵循了以下代码。但是,第一个键和值仅在 EditView 中打印。

   Map<String, String> map = new HashMap<String,String>();
   map.put("iOS", "100");
   map.put("Android", "101");
   map.put("Java", "102");
   map.put(".Net", "103");

   Set keys = map.keySet();

   for (Iterator i = keys.iterator(); i.hasNext(); ) {
       String key = (String) i.next();
       String value = (String) map.get(key);
       textview.setText(key + " = " + value);
   }

在编辑视图中,仅打印。我想在 EditText 中打印所有键及其值。任何人都可以告诉我我做错了什么吗?提前致谢。iOS = 100


答案 1
for (Map.Entry<String,String> entry : map.entrySet()) {
  String key = entry.getKey();
  String value = entry.getValue();
  // do stuff
}

答案 2

这是因为您的 TextView 在每次迭代时都会收到新文本,并且丢弃了 previuos 值。通过 StringBuilder 连接字符串,并在循环后设置 TextView 值。您也可以使用这种类型的循环:

for (Map.Entry<String, String> e : map.entrySet()) {
    //to get key
    e.getKey();
    //and to get value
    e.getValue();
}