set介面
特點:無序,不可重複!
允許null元素
1.hashset
內部封裝hashmap
非執行緒安全
a.首先判斷hashcode
使用物件的hashcode來判斷物件加入的位置,同時也會與其他已經加入的物件的hashcode進行 比較,如果沒有相等的hashcode,hashset就會假設物件沒有重複出現。
b.如果發現hashcode值相同,則採用equals方法進行值判斷,若為true則重複,反之不重複.
無序集合,可實現自動排序
基於treemap實現,本質紅黑樹
自動排序的關鍵在:comparable,comparator這兩個介面。
兩種方法:
a.元素自身具有比較性,使用comparable介面
b.使該容器具有比較性,外部比較,使用comparator介面
比較:hashset 效率要高於treeset,內部無序。treeset 內部有序,效率低。
對set集合的遍歷和對父類collection遍歷方法一致,
a.使用增強for迴圈進行遍歷
b.使用迭代器iterator
(今天上課抽空學習了昨天剩下的set介面及實現類,明天map類) Collection介面 List介面與Set介面
collection介面是list介面與set介面的父類介面,而各個集合的又是list介面與set介面的實現類。雖然是三個父類介面,介面中方法具體的實現在子類,但對介面的掌握,可以提高我們對集合的全域性認識。collection介面中定義的全部抽象方法如下 這裡列舉說明一些常用的方法 方法說明 bo...
Collection子介面 List介面
3.常用實現類 4.原始碼分析 難點 4.2 linkedlist的原始碼分析 4.3 vector的原始碼分析 5.儲存的元素的要求 1.儲存的資料特點 儲存序的 可重複的資料。2.常用方法 記住 增 add object obj 刪 remove int index remove object ...
Collection子介面 Set介面
1.儲存的資料特點 無序的 不可重複的元素 具體的以hashset為例說明 無序性 不等於隨機性。儲存的資料在底層陣列中並非照陣列索引的順序新增,而是根據資料的雜湊值決定的。不可重複性 保證新增的元素照equals 判斷時,不能返回true.即 相同的元素只能新增乙個。2.元素新增過程 以hashs...