为什么呢?

来源:5-3 学生选课---删除 Map 中的学生

雪中_悍刀行

2016-08-03 17:14

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

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

写回答 关注

2回答

  • 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中


    雪中_悍刀行

    是keySet()方法为什么却要if语句判断,keySet()也是通过students获取的。

    2016-08-04 10:07:29

    共 2 条回复 >

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

    楼上说得好。

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题