關于containsKey()方法和containsValue()方法,想不通,求大神們解答
containsKey()方法中的參數為什么是String類型的值,而containsValue()方法中的參數用的是一個student類型的對象,是不是既可以是基本類型也可以是對象啊
為什么containsValue()方法需要重寫equals()方法和hashcode()方法,而containsKey()方法不需要
為什么containsValue()方法要重寫hashcode()方法?
containsKey()方法中的參數為什么是String類型的值,而containsValue()方法中的參數用的是一個student類型的對象,是不是既可以是基本類型也可以是對象啊
為什么containsValue()方法需要重寫equals()方法和hashcode()方法,而containsKey()方法不需要
為什么containsValue()方法要重寫hashcode()方法?
2016-04-08
舉報
2016-04-09
Hashtable繼承于Map接口
contains(Object value)
測試此映射表中是否存在與指定值關聯的鍵(如果此 Hashtable 將一個或多個鍵映射到此值,則返回 true)。
判斷容器中是否存在值
但是contains并非和containsKey的功能一致而是和containsValue功能等同. 之所以說是等同原因是需要實現MAP中的containsValue:
public boolean containsValue(Object value) {
return contains(value);
? ?}
性能上沒有區(qū)別
2020-03-19
JAVA中,String,Integer,Date 等類中已經被自動覆寫方法。而老師舉的例子中,key是String類的。所以不用覆寫。
2016-06-11
String并不是基本數據類型;另外基本數據類型并不能作為key值;