您的位置:首页 > 其它

Set集合

2016-04-19 20:19 363 查看
1、java.util.Collection [I]

java.util.Set[I]

java.util.HashSet[C]

java.util.LinkedHashSet[C]

java.util.SortedSet[I]

java.util.TreeSet[C]

2、Set集合的存储特点

a、set集合属于无序集合,这个无序指的是:HashSet。

b、TreeSet集合无序,指的是,存储顺序可能并不是插入顺序。

TreeSet集合有序,指的是,插入时的数据会自动根据某个逻辑升序排列。

3、HashSet:

a、该集合具有互斥性,即,相同的元素无法重复的添加。

b、HashSet每次扩容16个大小。

c、HashSet每次add(E e),e为添加的键值,该集合中存储的数据以键值对的形式存键值即为传入的数据e, 键名即为:hash(e), 如果存放相同的键值,那么必定拥有相同 的 键 名,存储就会失败,hashset.add(Object)返回false,否则返回true;

4、TreeSet:

a、插入的元素会按照compareTo规则进行升序排序来存储。

b、输出时,TreeSet数据不会按照插入顺序来输出

5、LinkedHashSet

a、插入的元素会按照插入的顺序输出

(PS:但是该集合中的元素也是无序的,只是增加了链表数据结构。来维护插入顺序。)

总结:

HashSet:哈希表是通过使用称为散列算法的机制来存储信息,元素没有以某种特定的顺序来存储。

TreeSet:提供一个使用树结构存储Set接口来实现,对象以升序的顺序来存储,

访问和遍历的时间都很快。

LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: