为了账号安全,请及时绑定邮箱和手机立即绑定

问题已经自我排查解决

@Override

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((name == null) ? 0 : name.hashCode());

return result;

}

@Override

public 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;

}



public void testContainsKeyOrValue() {

//本例中让用户输入某个学生的姓名,再去判断姓名所对应的学生是否包含在这个studentsMap中

//提示输入学生Id

System.out.println("请输入要查询的学生ID:");

Scanner console = new Scanner(System.in);//定义一个Scanner对象

String id = console.next();//取得从键盘上输入的学生id字符串

//在Map中,用containsKey()方法,来判断是否包含某个Key值

System.out.println("你输入的学生id为"+id+",在学生映射表中是否存在"+students.containsKey(id));

//判断如果存在就输出那个学生的姓名

if(students.containsKey(id))

System.out.println("对应的学生为:"+students.get(id).name);

//提示输入学生姓名

System.out.println("请输入要查询的学生姓名:");

String name = console.next();//从键盘上取得输入的学生姓名字符串

//用containsValue()方法,来判断是否包含某个Value值

if(students.containsValue(new Student(null,name)))//先创建一个学生对象,id设置为空,姓名设为name的值,

System.out.println("在学生映射表中,确实包含学生:"+name);//暂时先回到student类验证有没有调用Value有关的equals方法

else

System.out.println("在学生映射表中不存在该学生!");

}


请输入学生ID:

1

请输入学生姓名:

成功添加学生:明

请输入学生ID:

2

请输入学生姓名:

成功添加学生:红

请输入学生ID:

3

请输入学生姓名:

成功添加学生:华

总共有:3个学生

学生:明

学生:红

学生:华

请输入要查询的学生ID:

1

你输入的学生id为1,在学生映射表中是否存在true

对应的学生为:明

请输入要查询的学生姓名:

在学生映射表中不存在该学生!


正在回答

1 回答

问题已自我排查解决

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409790    人
  • 解答问题       4340    个

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

进入课程

问题已经自我排查解决

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信