Java知識點總結(Java容器-Set)

蘇生發表於2019-01-19

Java知識點總結(Java容器-Set)

@(Java知識點總結)[Java, Java容器, JavaCollection, JavaSet]

Set

Set是一種不包括重複元素的Collection。它維持自己的內部排序,所以隨機訪問沒有任何意義。與List一樣,它同樣允許null的存在但只能有一個。由於Set介面的特殊性,所有傳入Set集合中的元素必須不同。

Set集合判斷兩個物件是否相同,是使用equals方法,而不是使用運算子==的。即,如果兩個物件用equals方法比較返回false,Set就不會接受這兩個物件了。

實現了Set介面的集合有:HashSet,TreeSet,EnumSet

對Set的選擇

  1. HashSet由於使用HashCode來實現,所有某種程度上來說它的效能永遠比TreeSet要好,尤其是進行增加和查詢操作。
  2. 雖然TreeSet沒有HashSet效能好,但是由於它可以維持元素的排序,所以還是會有它的應用場景在的。
  3. EnumSet只能儲存Enum,所以只會在儲存Enum的情況下使用。

相關文章