HashSet具有以下特征
不能保證元素的排列順序,順序可能會改變。
不同步
集合元素可以為null,但只能放入壹個null。
當壹個元素存儲在HashSet組合中時,HashSet會調用對象的hashCode()方法獲取對象的hashCode值,然後根據hashCode值確定對象在HashSet中的存儲位置。
LinkedHashSet
LinkedHashSet set也根據元素的hashCode值來確定元素的存儲位置,但它也使用鏈表來維護元素的順序。這使得元素看起來是按照插入順序保存的,也就是說,在遍歷集合時,LinkedHashSet將按照添加的順序訪問集合中的元素。
在叠代訪問集合中的所有元素時,LinkedHashSet的性能優於HashSet,但在插入時略遜於hashSet。
TreeSet類
TreeSet是唯壹實現SortedSet接口的類,TreeSet可以確保集合元素處於已排序狀態。TreeSet支持兩種排序方式,自然排序和自定義排序,其中自然排序是默認的排序方式。應該添加到樹集中的是同壹個類的對象。
TreeSet判斷兩個對象不相等的方式是兩個對象通過equals方法返回false,或者通過CompareTo方法比較不返回0。