但是么有查询出key值啊!

来源:6-4 学生选课---判断 Map 中是否包含指定的 key 和 value

qq_noheartnoswe_04385033

2016-12-07 19:51

查出了包含,小红,但是该怎样还能返回小红的id值呢?

写回答 关注

2回答

  • weibo_肖邦在对我微笑_0
    2016-12-09 21:54:44
    public void testEntrySet() {
    		// 通过entrySet方法,返回Map中的所有键值对
    		Set<Entry<String, Student>> entrySet = students.entrySet();
    		String st = new String("小红");
    		for (Entry<String, Student> entry : entrySet) {
    			System.out.println("取得键:" + entry.getKey());
    			System.out.println("对应的值为:" + entry.getValue().name);
    			//判断Value中name是否为"小红",true打印输出该键,false继续循环
    			if(entry.getValue().name.equals(st));
    				System.out.println("小红对应的ID为:" + entry.getKey());
    		}
    	}


  • weibo_肖邦在对我微笑_0
    2016-12-09 21:50:47

    通过Map接口中的方法

     Set<Map.Entry<K,V>>    entrySet()
              返回此映射中包含的映射关系的 Set 视图。    

    获取HashMap集合中的键值对映射关系,然后使用Map子接口Entry中的getValue()方法通过foreach历遍集合并找到"小红",打印出对应的键就行了(getKey()),具体使用方法查阅API。

    其实修改一下老师的代码就可以实现了,下面会放出我修改的代码,觉得有帮助的话麻烦采纳一下。

    weibo_...

    这是获取对应的键值的方法,如果只是返回小红的id值的话把程序第一行void改成String,把第10行改为 return entry.getValue().id;就行了。

    2016-12-09 22:14:01

    共 1 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题