初始化
Set 是一個不能包含重複元素的 Collection。它模擬了數學集抽象。
Set
在各種類別中實現,如 HashSet
,TreeSet
,LinkedHashSet
。
例如:
HashSet 的:
Set<T> set = new HashSet<T>();
這裡 T
可以是 String
,Integer
或任何其他物體。 HashSet 允許快速查詢 O(1)
,但不對新增到其中的資料進行排序,並且丟失了專案的插入順序。
TreeSet 中:
它以有序的方式儲存資料,犧牲一些速度用於採用 O(lg(n)
)的基本操作。它不保持專案的插入順序。
TreeSet<T> sortedSet = new TreeSet<T>();
LinkedHashSet:
它是 HashSet
的連結串列實現。一旦按照新增的順序迭代專案。沒有為其內容提供排序。提供 O(1)
基本操作,但是在維護支援連結串列時成本高於 HashSet
。
LinkedHashSet<T> linkedhashset = new LinkedHashSet<T>();