想起来就提问,怕以后忘了,Iterator的泛型该如何写

想起来就提问,怕以后忘了,Iterator的泛型该怎么写?
 Iterator  it = Map1.keySet().iterator();
假使 Map1 为<String,String>

编辑器非提示我给Iterator  it也加泛型,就不明白了,明明Iterator  像个“指针”,它的泛型也真不知道怎么写。
------解决思路----------------------
Map<String,String> map=new HashMap<String,String>();
map.put("1", "zhangsan");
map.put("2", "lisi");
map.put("3", "wangwu");

Iterator it=map.entrySet().iterator();
while(it.hasNext()){
Entry<String,String> obj=(Entry<String,String>)it.next();
System.out.println(obj.getKey());
System.out.println(obj.getValue());
}

------解决思路----------------------
如楼上的.看看api
------解决思路----------------------
对啊,看下API应该有很详细的说明的,作为程序员应该学会自己查看API
------解决思路----------------------
Map<String,String> map=new HashMap<String,String>();
map.put("XXX", "XXX");
                ......
Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, String> ent=it.next();
System.out.println(ent.getKey());
System.out.println(ent.getValue());
}
------解决思路----------------------
Iterator<?>  it = Map1.keySet().iterator();