查出了包含,小红,但是该怎样还能返回小红的id值呢?
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()); } }
通过Map接口中的方法
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的 Set 视图。
获取HashMap集合中的键值对映射关系,然后使用Map子接口Entry中的getValue()方法通过foreach历遍集合并找到"小红",打印出对应的键就行了(getKey()),具体使用方法查阅API。
其实修改一下老师的代码就可以实现了,下面会放出我修改的代码,觉得有帮助的话麻烦采纳一下。