關於Set介面

2021-10-25 03:31:34 字數 700 閱讀 7842

特徵:無序,不可重複。

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...