A:底層數據結構是哈希表(是一個元素爲鏈表的數組)
B:哈希表底層依賴兩個方法:hashCode()和equals()
執行順序:
首先比較哈希值是否相同
相同:繼續執行equals()方法
返回true:元素重複了,不添加
返回false:直接把元素添加到集合
不同:就直接把元素添加到集合
C:如何保證元素唯一性的呢?
由hashCode()和equals()保證的
D:開發的時候,代碼非常的簡單,自動生成即可。
爲了確保HASHSET的唯一性!
聯想查字典。
hashtable是以鏈表爲元素的數組。把hashcode相同的字放在同一頁上,再在同一頁(利用equals()方法)查找一樣的字。
每一頁就是一個桶。
爲什麼要重寫hashcode()方法和equals()方法?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.