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

关于containsKey()方法和containsValue()方法,想不通,求大神们解答

  1. containsKey()方法中的参数为什么是String类型的值,而containsValue()方法中的参数用的是一个student类型的对象,是不是既可以是基本类型也可以是对象啊

  2. 为什么containsValue()方法需要重写equals()方法和hashcode()方法,而containsKey()方法不需要

  3. 为什么containsValue()方法要重写hashcode()方法?

正在回答

3 回答

Hashtable继承于Map接口
contains(Object value)
测试此映射表中是否存在与指定值关联的键(如果此 Hashtable 将一个或多个键映射到此值,则返回 true)。
判断容器中是否存在值
但是contains并非和containsKey的功能一致而是和containsValue功能等同. 之所以说是等同原因是需要实现MAP中的containsValue:
public boolean containsValue(Object value) {
return contains(value);
   }
性能上没有区别

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

JAVA中,String,Integer,Date 等类中已经被自动覆写方法。而老师举的例子中,key是String类的。所以不用覆写。


0 回复 有任何疑惑可以回复我~
  1. String并不是基本数据类型;另外基本数据类型并不能作为key值;


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

举报

0/150
提交
取消

关于containsKey()方法和containsValue()方法,想不通,求大神们解答

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