为什么for语句中,没有if语句来判断entrySet中的变量entryt是否存在于students中
/** * 通过entrySet方法遍历map * @param args */ public void testEntrySet(){ //通过entry方法返回map中所有的键值对 Set<Entry<String ,Student>> entrySet = students.entrySet(); for (Entry<String, Student> entry : entrySet) { System.out.println("取得键:"+entry.getKey()); System.out.println("取得对应的值为:"+entry.getValue().name); } }
首先
entrySet这个Set集合 是通过开始定义的students(map集合)获取的。为什么获得的Set集合的泛型是Entry类?因为Entry类是map的一个内部类。
然后
entry作为entrySet集合中的变量。entrySet又是通过students获取的,所以没有必要来判断entry是否存在与students中
楼上说得好。