如何从包含对象作为值的地图中打印信息?
我创建了以下地图:
Map<String, Object> objectSet = new HashMap<>();
对象有自己的类,有自己的实例变量
我已经用数据填充了上面的地图。
我创建了一个printMap
方法,但我似乎只能打印地图的键
如何让地图使用for for each打印<Object>
值?
到目前为止,我已经:
for (String keys : objectSet.keySet())
{
System.out.println(keys);
}
以上打印出键。我希望能够打印出对象变量。
答案 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));
}