Java for循环从HashMap获取值

Java for循环从HashMap获取值,java,android,Java,Android,我想做一个for循环,从HashMap中获取值。我试过这个: final ArrayList<String> list = new ArrayList<String>(); for (int i = 0; i < places1.size(); ++i) { list.addAll(places1.values()); } 遍历入口集: public static void pri

我想做一个for循环,从HashMap中获取值。我试过这个:

final ArrayList<String> list = new ArrayList<String>();
            for (int i = 0; i < places1.size(); ++i) {

                list.addAll(places1.values());

            }

遍历入口集:

public static void printMap(Map mp) {
    Iterator it = mp.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry pairs = (Map.Entry)it.next();
        System.out.println(pairs.getKey() + " = " + pairs.getValue());
        it.remove(); // avoids a ConcurrentModificationException
    }
}

您可以在如下位置进行迭代:

for (String place : places1.values()) {
    list.add(place);
}
您可以使用HashMap.values()方法,它返回
集合
//其中V是值类型

final ArrayList<String> list = new ArrayList<String>(places1.values());

HashMap在哪里?将其作为函数参数传递给printMap。像printMap(mIdMap);同样的问题,它只打印关于第一项的信息,如果您删除循环,并将您的值作为
list.addAll(places1.values())放在列表中,请检查我的问题的编辑,好吗它会work@kiruwka它会打印第一个元素的信息你能发布打印的代码吗?如果输出
System.out.println(“myMap=“+places1”)
您将看到地图内容(或放置断点)。它可能包含所有对象的相同值keys@kiruwka地点1包含地图上的地点信息,我从另一个活动传递了它。我理解您认为它包含的内容。你能发布打印信息的代码吗?在向列表中添加值之前,是否可以发布地图的内容?
intent = new Intent(getApplicationContext(), List_airports.class);
                intent.putExtra("com.example.dashboard_our.hmPlace",hmPlace);

                startActivity(intent);
public static void printMap(Map mp) {
    Iterator it = mp.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry pairs = (Map.Entry)it.next();
        System.out.println(pairs.getKey() + " = " + pairs.getValue());
        it.remove(); // avoids a ConcurrentModificationException
    }
}
for (String place : places1.values()) {
    list.add(place);
}
final ArrayList<String> list = new ArrayList<String>(places1.values());
list.addAll(places1.values());// Only call this once!