初始化
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>();