HashMap和HashSet的不同

2021-10-20 18:59:42 字數 911 閱讀 3855

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中。

hashset

hashmap

實現set介面

實現了map介面

僅儲存物件

儲存鍵值對

呼叫add()方法向set中新增

呼叫put()向map中新增元素

hashset使用成員物件來計算hashcode值,對於兩個物件來說hashcode可能相同,所以equals()方法用來判斷物件的相等性,如果兩個物件不同的話,那麼返回false

hashmap使用鍵(key)計算hashcode

hashset較hashmap來說比較慢

hashmap相對於hashset較快,因為它是使用唯一的鍵獲取物件

HashMap和HashSet的區別

hashmap和hashset都是collection框架的一部分,它們讓我們能夠使用物件的集合。collection框架有自己的介面和實現,主要分為set介面,list介面和queue介面。它們有各自的特點,set的集合裡不允許物件有重複的值,list允許有重複,它對集合中的物件進行索引,queu...

hashset和hashmap的區別

map集合,就是有鍵值對的集合,屬性包含key,和value 1.關鍵字key是唯一不重複的 2.map是乙個有序的集合 hashset就像是把hashmap中value去掉 在jcf的所有具體類中,hashset是最簡單的乙個類,該類的例項代表一些唯一元素的普通集 1.無序 2.唯一 3.繼承ab...

hashMap 和 hashSet 的區別 ?

hashmap實現的是map介面 hashset實現的是set介面 hashmap是鍵對值儲存 hashset儲存的僅僅是值 hashmap使用put 存入資料 hashset使用add 存入資料 hashmap效率比較快,因為他是使用唯一的鍵來獲取物件 hashset相對於hashmap來說效率較...