
set接口體系.png
底層hashMap支持,不保證迭代順序。
底層由 hashMap和linked List 共同維護(hù), 元素不可重復(fù),并且保證迭代順序。
實現(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算法。