HashMap和HashSet的區別

2021-09-17 02:02:34 字數 518 閱讀 9952

hashmap是基於雜湊表的map介面實現的,儲存的是鍵值對。它所提供所有可選的對映操作。並允許使用null值和null鍵,但不保證對映的順序。hashmap是基於hashcode的,若想正確使用它就需要重寫hashcode()和equals()方法。hashmap不是執行緒安全的,若要執行緒安全,可用:

map m = colletions.synchronizedmap(new hashmap( ));

hashmap鍵是唯一的,值是可以重複的。

hashset實現了set介面,儲存的是物件。按照雜湊演算法來訪問容器中的物件,具有很好的訪問和查詢效能。當想容器中加入乙個物件時,hashset會呼叫該物件的hashcode()方法來獲取雜湊碼,然後根據這個雜湊碼進一步計算出物件在這個容器中的計算位置。不允許集合中有重複的值。hashset 是執行緒不安全的。

執行緒安全的有:vector、hashtable、proprties

執行緒安全的有:hashset、treeset、hashmap、treemap、arraylist、linkedlist.

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來說效率較...