HashSet:
底层原理:哈希表结构存储。对集合的迭代次序不作任何保证;允许元素null值。线程不同步。基于HashMap保存所有元素,所以基本调用HashMap方法来执行。
构造方法:HashSet(),HashSet(Collection<?extendsE>c),HashSet(intinitialCapacity),HashSet(intinitialCapacity,floatloadFactor)
对应的一些方法:
add(Ee)将指定的元素添加到此集合(如果尚未存在)。
remove(Objecto)如果存在,则从该集合中删除指定的元素。
linkedHashSet:
底层原理:哈希表+链表。线程不同步。
构造函数:
linkedHashSet()构造一个具有默认初始容量(16)和负载因子(0.75)的新的,空的链接散列集。
linkedHashSet(Collection<?extendsE>c)构造与指定集合相同的元素的新的链接散列集。
linkedHashSet(intinitialCapacity)构造一个具有指定初始容量和默认负载因子(0.75)的新的,空的链接散列集。
linkedHashSet(intinitialCapacity,floatloadFactor)构造具有指定的初始容量和负载因子的新的,空的链接散列集。
TreeSet:线程不同步。
构造方法:
TreeSet()构造一个新的,空的树组,根据其元素的自然排序进行排序。
TreeSet(Collection<?extendsE>c)构造一个包含指定集合中的元素的新树集,根据其元素的自然排序进行排序。
TreeSet(Comparator<?superE>comparator)构造一个新的,空的树集,根据指定的比较器进行排序。
TreeSet(SortedSet<E>s)构造一个包含相同元素的新树,并使用与指定排序集相同的顺序。
TreeSet继承于AbstractSet,并且实现了NavigableSet接口。
TreeSet的本质是一个"有序的,并且没有重复元素"的集合,它是通过TreeMap实现的。TreeSet中含有一个"NavigableMap类型的成员变量"m,而m实际上是"TreeMap的实例"。
以上就是北大青鸟长沙麓谷校区java培训机构的小编针对“解刨分析Java集合set的使用”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。