第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

有關(guān)ContainsKey方法和containsValue方法的區(qū)別,以及原因???

1.containsKey()方法中的參數(shù)為什么是String類型的值,而containsValue()方法中的參數(shù)用的是一個student類型的對象,是不是既可以是基本類型也可以是對象啊

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

3。為什么containsValue()方法要重寫hashcode()方法?

正在回答

2 回答

問題一:視頻上用的是Map集合,需要傳遞兩個參數(shù),老師通過泛型規(guī)定了是String和student(這個是可以自定義的)所以containsKey()方法獲取的是String類型的值;其次參數(shù)必須是對象,要想用基本類型,必須是他的封裝類型(Integer,Double等),另為String不是基本類型,是對象!

問題二:因為Java中自帶的對象類型(例如String,StringBuilder等)都已經(jīng)被重寫過equals()方法和hashcode()方法等,而自定義的對象(Student)則需要你自己去重寫。

問題三:重寫hashcode()方法主要是針對Map和Set集合,保證在equals()相等的時候,hashCode值相等,而equals()不等時,hashCode值不相等,便于HashMap等集合的查詢功能。


【HashMap等集合查找元素先是判斷HashCode值是否相等,在判斷equals()是否相等,都相等才查找到正確的元素】自行理解?。?!

4 回復 有任何疑惑可以回復我~
#1

慕粉3170877 提問者

非常感謝!
2016-06-24 回復 有任何疑惑可以回復我~
#2

GODOG

你好,對于問題一,我看了您的回答,還是不理解,為什么containsKey()方法中的參數(shù)是String類型的值,而containsValue()方法中的參數(shù)用的是一個student類型的對象???為什么containsValue()方法中的參數(shù)也用String類型呢?
2016-09-27 回復 有任何疑惑可以回復我~
#3

GODOG

泛型的類型參數(shù)聲明部分是按順序的嗎?一定是String對應ID,Student對于name嗎???
2016-09-27 回復 有任何疑惑可以回復我~

String不是基本類型,是對象!前半句說得對,后半句說得有問題

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

舉報

0/150
提交
取消

有關(guān)ContainsKey方法和containsValue方法的區(qū)別,以及原因???

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號