我如何分别从HashMap获取对象?

时间:2012-09-26 09:01:09

标签: java hashmap

  

可能重复:
  How do I iterate over each Entry in a Map?

我制作个人资料数据库,并使用HashMap收集资料。

private HashMap<String, Profile> database;

但我想将个人资料数据写入文本文件

PrintWriter fileOut = new PrintWriter(new FileWriter(fileName));
fileOut.println(database.size());
for(int i = 0; i < database.size();i++){
 Profile eachProfile = database.get(key);
}

但我不知道如何获得循环键的列表 如何通过其他方式分别从HashMap获取数据?

3 个答案:

答案 0 :(得分:6)

您可以使用Map.entrySet()和扩展for

for (Map.Entry<String, Profile> e: database.entrySet())
{
    String s  = e.getKey();
    Profile p = e.getValue();
}

答案 1 :(得分:0)

在这里查看地图文档:http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

您需要一个可用作keySet()的所有密钥的列表。 values()entrySet()方法相关。

答案 2 :(得分:0)

您可以使用map.keySet获取该组密钥。 您可以使用map.values获取值集合