java.util.Set
框架:
Set
Set
对Map
进行了包裹,利用Map中key的唯一性保证集合中元素的唯一性,所有的key指向同一个对象。
HashSet
直接用的HashMap
,元素的顺序是不确定的,查找删除等操作的时间复杂度为O(1)。
1 |
|
LinkedHashSet
直接用的LinkedHashMap
,元素的顺序是确定的,查找删除等操作的时间复杂度为O(1)。
1 | public LinkedHashSet() { |
TreeSet
直接用的TreeMap
,元素是有序的,查找删除等操作的时间复杂度为O(logn)。元素是有序的,顺序是按照key的自然顺序或者是定义的Comparator
。
构建线程安全的TreeSet:SortedSet s = Collections.synchronizedSortedSet(new TreeSet(...));
1 | public TreeSet() { |