用id查找学生
//提示用户输入学生id
System.out.println("请输入要查询的学生ID:");
Scanner Input = new Scanner(System.in);
String id = Input.next();
//在Map中,用containsKey()方法,判断是否包含某个Key值
System.out.println("您输入的学生id为:"+id+"在映射表中是否存在"+students.containsKey(id));
用姓名查找
//提示输入学生姓名
System.out.println("请输入要查询的学生姓名:");
Scanner Input2 = new Scanner(System.in);
String name = Input2.next();
// 用containsValue()方法,判断是否包含某个Value值
System.out.println("您输入的学生姓名为:"+name+"姓名是否存在"+students.containsValue(name));
为什么这里name明明对象里是有的却还是返回false呢? 求解答
因为:public Map <String,Student>students;该属性的value值是一个Student类型的对象,那使用containsValue()传入的参数要是对应的value,在这里value对应的就是一个Student 对象。
为什么判断是否包含某个value值要new一个学生对象呢