set集合

set接口

set接口體系.png

hashSet

底層hashMap支持,不保證迭代順序。

linkedHashSet

底層由 hashMap和linked List 共同維護(hù), 元素不可重復(fù),并且保證迭代順序。

TreeSet

實現(xiàn)sortedSet接口, 支持對元素的排序,
sortedSet支持Comparator接口。

-請注意,如果要正確實現(xiàn)Set接口,則由set維護(hù)的排序(無論是否提供顯式比較器)必須與equals一致。 (請參閱Comparable或Comparator以獲得與equals一致的精確定義。)這是因為Set接口是根據(jù)equals操作定義的,但TreeSet實例使用compareTo(或compare)方法執(zhí)行所有元素比較,因此 從該集合的角度來看,通過這種方法被認(rèn)為相等的元素是相等的。 集合的行為即使其排序與equals不一致也是明確定義的; 它只是不遵守Set接口的一般合同。

Comparator參與的sortedSet, 當(dāng)Comparator的compare方法返回元素相等, 則認(rèn)為元素重復(fù), 不可插入

set集合判定兩個元素是否一致是通過equals方法,而equals方法底層走的是hashcode, 還是hash算法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 10.1 Set集合 Set接口繼承Collection接口,沒有提供額外的方法。Set集合不允許包含相同...
    王毅巽閱讀 381評論 0 0
  • Set接口 set一個最大的特點就是無序,無重復(fù) 今天主要內(nèi)容 HashSetHashSet的工作原理存儲自定義對...
    須臾之北閱讀 303評論 0 0
  • 一、集合入門總結(jié) 集合框架: Java中的集合框架大類可分為Collection和Map;兩者的區(qū)別: 1、Col...
    程序員歐陽閱讀 11,815評論 2 61
  • Java集合類可用于存儲數(shù)量不等的對象,并可以實現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 2,089評論 0 13
  • 四、集合框架 1:String類:字符串(重點) (1)多個字符組成的一個序列,叫字符串。生活中很多數(shù)據(jù)的描述都采...
    佘大將軍閱讀 874評論 0 2

友情鏈接更多精彩內(nèi)容