问答详情
源自:5-3 学生选课---删除 Map 中的学生

为什么呢?

http://img.mukewang.com/57a1b4c5000185a010070152.jpg

为什么for语句中,没有if语句来判断entrySet中的变量entryt是否存在于students中

提问者:雪中_悍刀行 2016-08-03 17:14

个回答

  • OneStuent
    2016-08-03 20:27:43
    已采纳

    /**
    	 * 通过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中


  • qq_Winterwheat_0
    2016-08-03 21:37:21

    楼上说得好。