面試題23 HashSet與HashMap的區別

2021-08-25 17:10:58 字數 646 閱讀 4916

hashset實現了set介面,它不允許集合中出現重複元素。當我們提到hashset時,第一件事就是在將物件儲存在

hashset之前,要確保重寫hashcode()方法和equals()方法,這樣才能比較物件的值是否相等,確保集合中沒有

儲存相同的物件。如果不重寫上述兩個方法,那麼將使用下面方法預設實現:

public boolean add(object obj)方法用在set新增元素時,如果元素值重複時返回 "false",如果新增成功則返回"true"

hashmap實現了map介面,map介面對鍵值對進行對映。map中不允許出現重複的鍵(key)。map介面有兩個基本的實現

treemap和hashmap。treemap儲存了物件的排列次序,而hashmap不能。hashmap可以有空的鍵值對(key(null)-value(null))

hashmap是非執行緒安全的(非synchronize),要想實現執行緒安全,那麼需要呼叫collections類的靜態方法synchronizemap()實現。

public object put(object key,object value)方法用來將元素新增到map中。

資料結構與演算法面試題80道(23)

第23題 演算法 用最簡單,最快速的方法計算出下面這個圓形是否和正方形相交。3d座標系 原點 0.0,0.0,0.0 圓形 半徑r 3.0 圓心o 0.0,正方形 4個角座標 1 0.0,2 0.0,3 0.0,4 0.0,沒搞懂座標給的是什麼意思,表示座標的值?也不清楚圓和正方形是不是實心。如果是...

演算法面試通關40講 23 面試題 求眾數

給定乙個大小為 n 的陣列,找到其中的眾數。眾數是指在陣列 現次數大於 n 2 的元素。你可以假設陣列是非空的,並且給定的陣列總是存在眾數。示例 1 輸入 3,2,3 輸出 3示例 2 輸入 2,2,1,1,1,2,2 輸出 2sorting class solution class solutio...

企業前端面試題 企業面試真題23

給你乙個陣列 candies 和乙個整數 extracandies 其中 candies i 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意,允許有多個孩子同時擁有 最多 的糖果數目。va...