Map的遍历方式有两种 一种是entrySet 而另一种是 Keyset
KeySet遍历的核心代码:
Map<Student,String> map = new HashMap<Student,String>();
Set<Student> ks = map.KeySet();
Iterator<Student> it = ks.iterator();
While(it.hasNext())
{
Student key = (Student)it.next();
String value = map.get(key);
System.out.println("key"+key.getName()+",value:"+value);
}
也可以用另外一种简便的方法写
Map<String,String> map = new HashMap<Student,String>();
for(String key : map.keySet())
{
System.out.println(key+"="+map.get(key));
}
entrySet遍历的核心代码
Iterator<Map.Entry<Student,String>> it = map.entrySet().iterator();
while(it.hasNext())
{
Map.Entry<Student,String> me = it.next();
Student key = (Student)me.getKey();
String value = me.getValue();
System.out.println(key.getName()+".."+value); //key是student的对象 所以可通过getName获取数据
}
注意的是 entrySet 迭代器所获取的返回值是Map.Entry<>
取值的时候也应该注意
晚安! 加油