特徵:無序,不可重複。
hashset 是基於 hashmap 實現的,hashset的值存放於hashmap的key上,hashmap的value統一為present,因此 hashset 的實現比較簡單,相關 hashset 的操作,基本上都是直接呼叫底層 hashmap 的相關方法來完成,hashset 不允許重複的值。
所以判斷key是否存在就要重寫元素的類的equals()和hashcode()方法。
hashmap
hashset
實現了map介面
實現set介面
儲存鍵值對
僅儲存物件
呼叫put()向map中新增元素
呼叫add()方法向set中新增元素
hashmap使用鍵(key)計算hashcode
hashset使用成員物件來計算hashcode值,對於兩個物件來說hashcode可能相同,所以equals()方法用來判斷物件的相等性,如果兩個物件不同的話,那麼返回false
hashmap相對於hashset較快,因為它是使用唯一的鍵獲取物件
hashset較hashmap來說比較慢
hashset:無序存放
treeset:發現使用的是map集合(sortedmap介面子類)
linkedhashset
Set集合介面
set介面 set集合就像是乙個罐子,一旦把物件 丟進去 多個物件之間就沒有順序,set元素不可以重複 set判斷兩個物件是否相同不是使用 而是使用equals set t new hashset t.add aa t.add new string aa system.out.println t.a...
Set介面介紹
set介面定義 collection介面可以存放重複元素,也可以存放不重複元素。list可以存放重複元素,set就是不重複的元素。通過元素的equals方法,來判斷是否為重複元素。set集合取出元素的方式可以採用 迭代器,增強 for hashset 雜湊表 此類實現了set介面,由雜湊表 實際是h...
Collection子介面 Set介面
1.儲存的資料特點 無序的 不可重複的元素 具體的以hashset為例說明 無序性 不等於隨機性。儲存的資料在底層陣列中並非照陣列索引的順序新增,而是根據資料的雜湊值決定的。不可重複性 保證新增的元素照equals 判斷時,不能返回true.即 相同的元素只能新增乙個。2.元素新增過程 以hashs...