【慕课笔记】第六章 JAVA中的集合框架(下) 第4节 学生选课——判断Map中是否包含指定的key和value

来源:互联网 发布:昆明市网络预约出租车 编辑:程序博客网 时间:2024/05/23 20:29

第4节 学生选课——判断Map中是否包含指定的key和value


//测试Map中是否包含某个key或者value值public void testContainsKeyOrValue(){//提示输入学生idSystem.out.println("请输入要查询的学生Id:");Scanner scanner=new Scanner(System.in);//在Map中使用containsKey()方法,来判断是否包含某个key值String id=scanner.next();System.out.println("您输入的学生id为:"+id+"是否包含此Key:"+students.containsKey(id));if(students.containsKey(id)){System.out.println("对应的学生为:"+students.get(id).name);}//在Map中使用containsValue()方法,来判断是否包含某个Value值//提示输入学生姓名System.out.println("请输入学生姓名:");String name=scanner.next();if(students.containsValue(new Student(null,name)))System.out.println("在学生映射表中确实包含该学生"+name);elseSystem.out.println("映射表中不包含该学生!");}

containsValue()也要调用equals和hashcode方法,此处比较学生姓名,仅对name重写这两个方法

@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (!(obj instanceof Student))return false;Student other = (Student) obj;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}


0 0
原创粉丝点击