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:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代。
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:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代。
相关文章推荐
- 数据结构学习安排
- [经典] 回文问题(一)
- android开发 用线程进行耗时操作,统一处理 第二版
- 深入理解synchronized
- Android官方开发文档Training系列课程中文版:调用相机之控制相机
- ansible的安装部署及简单应用
- 插入排序(InsertionSort)
- 剑指offer之找没有重复出现的数字
- 多表连接查询
- ansible的安装部署及简单应用
- 站立会议01
- 配置visual studio code进行asp.net core rc2的开发
- 使用GoodFeaturesToTrack进行关键点检测---29
- 深入理解Lock
- [leetcode] 341. Flatten Nested List Iterator
- 51nod 1060 最复杂的数(反素数)
- javaScript数组循环删除
- Annotation
- html的元素分类
- 15.set集合