didi1234
2016-04-08 15:53
containsKey()方法中的参数为什么是String类型的值,而containsValue()方法中的参数用的是一个student类型的对象,是不是既可以是基本类型也可以是对象啊
为什么containsValue()方法需要重写equals()方法和hashcode()方法,而containsKey()方法不需要
为什么containsValue()方法要重写hashcode()方法?
Hashtable继承于Map接口
contains(Object value)
测试此映射表中是否存在与指定值关联的键(如果此 Hashtable 将一个或多个键映射到此值,则返回 true)。
判断容器中是否存在值
但是contains并非和containsKey的功能一致而是和containsValue功能等同. 之所以说是等同原因是需要实现MAP中的containsValue:
public boolean containsValue(Object value) {
return contains(value);
}
性能上没有区别
JAVA中,String,Integer,Date 等类中已经被自动覆写方法。而老师举的例子中,key是String类的。所以不用覆写。
String并不是基本数据类型;另外基本数据类型并不能作为key值;
Java入门第三季
409792 学习 · 4340 问题
相似问题