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