Collection集合 (set集合)

2021-10-04 22:18:13 字數 1190 閱讀 8821

不包含重複元素的集合(即使新增重複元素之後,最終也只能顯示乙個)

沒有帶索引的方法,所以不能使用普通的for迴圈遍歷

hashset:對集合的迭代順序不作任何保證

object類中有乙個方法可以獲取物件的雜湊值-----public int hashcode():返回物件的雜湊碼值

物件的雜湊值特點:

同乙個物件多次呼叫hashcode()方法返回的雜湊值是相同的

預設情況下,不同物件的雜湊值是不同的,而重寫hashcode()方法,可以實現讓不同的物件的雜湊值相同。

hashset集合特點:

1、底層資料結構是雜湊表

2、對集合的迭代順序不做任何保證,也就是說不保證儲存和取出的元素順序一致

3、沒有帶索引的方法,所以不能使用普通for迴圈遍歷(可以使用迭代器遍歷和增強for遍歷)

4、由於是set集合,所以是不包含重複元素的集合

hashset集合保證元素唯一性原始碼分析

hashset集合新增乙個元素的過程:

hashset集合儲存元素:

要保證元素唯一性,需要重寫hashcode()和equals()

集合特點:

雜湊表和煉表實現的set介面,具有可**的迭代次序

由鍊錶保證元素有序,也就是說元素的儲存和取出順序是一致的

由雜湊表保證元素唯一,也就是說沒有重複的元素

集合特點:

元素有序,這裡的順序不是只儲存和取出的順序,而是按照一定的規則進行排序,具體排序方式取決於構造方法。

treeset():根據其元素的自然排序進行排序

treeset(comparator comparator):根據指定的比較器進行排序

沒有待索引的方法,所以不能使用普通for迴圈遍歷

由於是set集合,所以不包含重複元素的集合

compareto按字典順序比較兩個字串

案例:

//建立treeset集合物件,通過比較器進行排序

treesetts =new treeset(new comparator()

});

Collection集合類(Set介面)

set介面 extend collection介面 特點 1 不允許重複的元素 2 設有索引,沒有帶索引的方法,也不能進行普通for 3 是乙個元素的集合,訪問可能不一致 4 底層是雜湊表 查詢快 方法上和collection一致 實現類 hashset 由雜湊表構成 例 setset new ha...

集合4 集合 Collection介面 Set介面

儲存無序的 不可重複的資料 三種實現類 注 1.set介面中沒有額外定義新的方法,使用的都是collection中宣告過的方法 2.向set中新增的資料,其所在類一定要重寫hashcode 和equals 且重寫的hashcode 和equals 盡可能保持一致 相等的物件具有相等的雜湊碼 以has...

達內課程 Set集合和Collection

hashset treeset set不重複的資料集 hashset 內部封裝hashmap物件 使用hashmap的鍵這一列來存放物件 裡邊的資料不重複且無序 建立物件 hashset set newhashset treeset 內部封裝treemap物件 使用treemap的鍵這一列來存放物件...