collection的子介面set

2021-10-25 06:18:02 字數 708 閱讀 7521

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