hashmap和hashset都是collection框架的一部分,它們讓我們能夠使用物件的集合。collection框架有自己的介面和實現,主要分為set介面,list介面和queue介面。它們有各自的特點,set的集合裡不允許物件有重複的值,list允許有重複,它對集合中的物件進行索引,queue的工作原理是fcfs演算法(first come, first serve)。
首先讓我們來看看什麼是hashmap和hashset,然後再來比較它們之間的分別。
hashset實現了set介面,它不允許集合中有重複的值,當我們提到hashset時,第一件事情就是在將物件儲存在hashset之前,要先確保物件重寫equals()和hashcode()方法,這樣才能比較物件的值是否相等,以確保set中沒有儲存相等的物件。如果我們沒有重寫這兩個方法,將會使用這個方法的預設實現。
public boolean add(object o)方法用來在set中新增元素,當元素值重複時則會立即返回false,如果成功新增的話會返回true。
hashmap實現了map介面,map介面對鍵值對進行對映。map中不允許重複的鍵。map介面有兩個基本的實現,hashmap和treemap。treemap儲存了物件的排列次序,而hashmap則不能。hashmap允許鍵和值為null。hashmap是非synchronized的,但collection框架提供方法能保證hashmap synchronized,這樣多個執行緒同時訪問hashmap時,能保證只有乙個執行緒更改map。
public object put(object key,object value)方法用來將元素新增到map中。
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來說效率較...
HashMap和HashSet的區別
hashmap和hashset的關係 hashmap hashset 是map介面的實現類,繼承自abstractmap類,實現cloneable serializable介面。是set介面的乙個實現類,繼承自collection介面,實現set cloneable serializable介面。物...