查出了包含,小红,但是该怎样还能返回小红的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。
其实修改一下老师的代码就可以实现了,下面会放出我修改的代码,觉得有帮助的话麻烦采纳一下。