不包含重複元素的集合(即使新增重複元素之後,最終也只能顯示乙個)
沒有帶索引的方法,所以不能使用普通的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的鍵這一列來存放物件...