Java基礎-Set集合以及其子類(HashSet和TreeSet)

set集合特點:無序,唯一

HashSet:

A:底層數據結構是哈希表.

B:哈希表底層依賴兩個方法:hashCode() 和equals()

? ? ? 執行順序:

? ? ? ? ? ? ? 首先比較哈希值是否相同

? ? ? ? ? ? ? ? ? ? ? 相同:繼續執行equals()方法.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回true:元素重復了,不添加.

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 返回false:直接把元素添加到集合.

? ? ? ? ? ? ? ? ? ? ? 不同:就直接把元素添加到集合.

C:由hashCode() 和equals()保證元素的唯一性.

D:這些代碼可以自動生成.

TreeSet集合

A:底層數據結構是紅黑樹(自平衡的二叉樹)

B:保證元素的排序的方式

? ? ? ? ?a:自然排序(元素具備比較性)

? ? ? ? ? ? ? ? ?讓元素所屬的類實現Comparable接口.

? ? ? ? ?b:比較器排序(集合具備比較性)

? ? ? ? ? ? ? ? ?讓集合構造方法接收Comparable的子類對象

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Collection 集合和數組的區別 A:長度區別 數組的長度固定 集合長度可變 B:內容不同 數組存儲的是同一...
    清楓_小天閱讀 798評論 0 14
  • 上一篇文章介紹了Set集合的通用知識。Set集合中包含了三個比較重要的實現類:HashSet、TreeSet和En...
    Ruheng閱讀 15,710評論 3 57
  • Java集合框架 Java平臺提供了一個全新的集合框架。“集合框架”主要由一組用來操作對象的接口組成。不同接口描述...
    小石38閱讀 373評論 0 0
  • 一、集合框架的概述 1、概述: 1、簡述:所謂集合,就是為方便對多個對象的操作,對對象進行存儲。集合就是存儲對象最...
    玉圣閱讀 537評論 0 4
  • 從三月份找實習到現在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發崗...
    時芥藍閱讀 42,375評論 11 349