Set介面的實現類

2021-07-16 21:00:27 字數 461 閱讀 8291

set是一種不包括重複元素的collection。它維持它自己的內部排序,所以隨機訪問沒有任何意義。與list一樣,它同樣執行null的存在但是僅有乙個。由於set介面的特殊性,所有傳入set集合中的元素都必須不同,同時要注意任何可變物件,如果在對集合中元素進行操作時,導致e1.equals(e2)==true,則必定會產生某些問題。實現了set介面的集合有:enumset、hashset、treeset。

是列舉的專用set。所有的元素都是列舉型別。

hashset堪稱查詢速度最快的集合,因為其內部是以hashcode來實現的。它內部元素的順序是由雜湊碼來決定的,所以它不保證set 的迭代順序;特別是它不保證該順序恆久不變。

基於treemap,生成乙個總是處於排序狀態的set,內部以treemap來實現。它是使用元素的自然順序對元素進行排序,或者根據建立set 時提供的comparator進行排序,具體取決於使用的構造方法。

實現介面的列舉類

由列舉類實現介面裡的方法,每個列舉值呼叫該方法由相同的行為方式。若要每個列舉值在呼叫該方法時由不同的行為方式,可讓每個列舉值分別實現該方法。public enum gender implements genderdesc female 女 上例中male,female建立列舉值是,不是直接建立gen...

C String類介面的實現

對c string庫部分介面的實現,通過介面間的復用,使個個介面緊密聯絡,更加簡潔。重要介面expand 通過檢測當前物件容量是否滿足要求,對物件進行擴容等操作。此次實現string全部使用的是深拷貝。include include include includeusing namespace st...

Map介面的實現類

雜湊表就是一種以鍵 值 key indexed 儲存資料的結構,只要輸入待查詢的值即 key,即可查詢到其對應的值。雜湊的思路很簡單,如果所有的鍵 hashcode 都是整數,那麼就可以使用乙個簡單陣列來實現 將鍵作為索引,值即為其對應的值,這樣就可以快速訪問任意鍵的值。簡單的計算方法 hashco...