打印java地图Map <string,object =“”> - 如何?

时间:2016-04-21 23:35:42

标签: java hashmap

如何从包含对象作为值的地图中打印信息?

我创建了以下地图:

Map<String, Object> objectSet = new HashMap<>();

对象有自己的类,有自己的实例变量

我已经用数据填充了上面的地图。

我创建了一个printMap方法,但我似乎只能打印地图的键

如何让地图使用for for each打印<Object>值?

到目前为止,我已经:

for (String keys : objectSet.keySet())
{
   System.out.println(keys);
}

以上打印出键。我希望能够打印出对象变量。

3 个答案:

答案 0 :(得分:25)

我确定有一些不错的图书馆已经为你做了这样的事情......但是要坚持你已经采用的方法,Map#entrySet通过Object key为您提供合并value。如下所示:

for (Map.Entry<String, Object> entry : map.entrySet()) {
    System.out.println(entry.getKey() + ":" + entry.getValue().toString());
}

将完成您之后的工作。

如果你正在使用java 8,那么还有新的流媒体方法。

map.forEach((key, value) -> System.out.println(key + ":" + value));

答案 1 :(得分:4)

您可以使用Map.entrySet()方法:

for (Map.Entry entry : objectSet.entrySet())
{
    System.out.println("key: " + entry.getKey() + "; value: " + entry.getValue());
}

答案 2 :(得分:2)

HashMap中有一个get方法:

for (String keys : objectSet.keySet())  
{
   System.out.println(keys + ":"+ objectSet.get(keys));
}