Java集合 Set集合總結

2021-07-15 23:58:03 字數 948 閱讀 2123

特點;  無序  不允許重複的

實現類:

hashset    

通過hash碼資料結構進行儲存的    無序   不重複

如果想要判斷兩個物件是否是同乙個物件 ,通常情況比較位址,但是現在需要通過制定內容來判斷是否相同

hashcode()  判斷的其各個屬性的hashcode  而非物件真正的位址

結論: 如果hashcode相同 有可能是相同的物件,hashcode不同 則一定不是同乙個物件

hashcode相同還需要equals進一步判斷,即使用 equals()

比如: 如果姓名和年齡都相同 就認為是同乙個物件

呼叫過程   首先呼叫hashcode方法  如果返回值相同則呼叫equals方法  

如果返回值不同 則不呼叫equals 直接認為不是同一物件

linkedhashset     不允許重複的  儲存的 雙向鍊錶   幫助記錄儲存的順序

linkedhashset 再去遍歷的時候要比hashset 效率高,但是在新增或者刪除修改的時候效率要低(因為其記錄順序要耗費時間)

treeset       無序不允許重複的

用的紅黑樹的資料結構儲存的

預設情況下integer string 都實現了 自然排序  ,是按照自然資料的大小進行排序

如果自定義的類想要新增到treeset集合中就必須 實現 comparable 或者 comparator

如果實現comparable 就是自然排序    comparator  就是  定製排序

自然排序的步驟

1  定義bean類 實現comparable介面並且重寫 compareto方法

2  測試

定製排序的步驟

1 定義bean類

2 建立乙個類 去實現comparator介面  並且重寫compare方法

3 建立treeset物件  向構造方法中傳遞

Java集合總結(二) Set集合

set集合儲存的元素是沒有順序 且不能重複的。它有三個實現類 hashset treeset enumset 1 hashset hashset按照hash演算法來儲存集合中的元素,因此具有良好的訪問和查詢效能 特點 儲存的特性 hashset判斷兩元素相等的標準 兩個物件通過equals 方法比較...

JAVA集合學習 Set

可以分為3種集合set list,map,其中常用的有hashset,arraylist,hashmap 1,collection是set,list,queue3個介面的父介面主要方法如下 collection a new arraylist collection b new arraylist 新...

Java集合 Set架構

set的實現類是基於map來實現的 hashset是通過hashmap實現的,treeset是通過treemap實現的 首先,我們看看set架構。01 set 是繼承於collection的介面。它是乙個不允許有重複元素的集合。02 abstractset 是乙個抽象類,它繼承於abstractco...