Printing a java map Map<String, Object> - How? 
如何从以对象为值的地图打印信息?
我创建了以下地图:
| 1
 | Map<String , Object>  objectSet = new  HashMap<>(); | 
对象有其自己的类和自己的实例变量
我已经用数据填充了上面的地图。
我创建了一个printMap方法,但我似乎只能打印地图的键。
如何让地图使用for each循环打印值?
到目前为止,我有:
| 12
 3
 4
 
 | for (String keys :  objectSet.keySet())
{
   System .out .println( keys);
} | 
上面打印出钥匙。我也希望能够打印出对象变量。
		
		
- Map只有keySet方法吗?它没有其他方法吗?
- 你刚试过println(map)吗?
 
	 
我相信有个不错的图书馆已经为你做了这类事情…但是为了坚持你已经采用的方法,Map#entrySet给你一个Object与key和value的组合。比如:
| 12
 3
 
 | for (Map.Entry<String , Object>  entry :  map.entrySet()) {
    System .out .println( entry.getKey() +":" +  entry.getValue() .toString());
} | 
做你想做的。
如果使用Java 8,也有新的流式方法。
| 1
 | map.forEach(( key, value) -> System .out .println( key +":" +  value)); | 
		
		
- 从J8链接lambda函数
- 这个答案应该被接受。可怜的礼仪!感谢您发帖。
 
	 
您可以使用Map.entrySet()方法:
| 12
 3
 4
 
 | for (Map.Entry entry :  objectSet.entrySet())
{
    System .out .println("key:" +  entry.getKey() +"; value:" +  entry.getValue());
} | 
hashmap中有一个get方法:
| 12
 3
 4
 
 | for (String keys :  objectSet.keySet())  
{
   System .out .println( keys +":"+  objectSet.get( keys));
} | 
		
		
- 在对时间敏感的应用程序使用这种方法时我会小心,因为内部get方法是线性搜索o(n)以查找相应的值。
- get方法在内部调用使用哈希的getnode(hash(key),key)。它只在哈希冲突时执行线性搜索。