HashSet,LinkedHashset,TreeSet的比较
来源:互联网 发布:网络打印机0个文档被挂 编辑:程序博客网 时间:2024/05/16 18:40
Set的三个实现类特点:
- 不允许元素重复
- 都不是线程安全
HashSet
查询效率极高(高于数组),用的最多,底层是HashMap的一个实例。
判断两个对象是否相等的规则:
1)equals()返回值为true
2)hashcode()值相同。要求:
存在于哈希表中的对象元素都必须要覆盖 equals(),和hashCode()方法。
链表算法
LinkedHashSet
HashSet的子类,底层采用了哈希表算法保证元素对象不重复和链表算法记录元素对象的先后添加顺序。
在开发中一般很少使用。
TreeSet
只有在做范围查询时才会使用,会对集合里的元素进行排序,底层使用了红黑树算法(树结构比较擅长做范围查询)
总结
1.HashSet是最常用的,做等值查询效率最高,在开发中,最常用到的就是等值查询。
2.TreeSet做范围查询效率较高,在数据库的索引中,范围查询较多,所以树结构主要用来做索引,来提高查询效率。
3.LinkedHashSet在一个集合既不能元素重复,又要记录元素的添加顺序时使用。一般使用较少。
阅读全文
1 0
- HashSet,LinkedHashset,TreeSet的比较
- 示例比较HashSet,LinkedHashSet,TreeSet
- HashSet,TreeSet 和 LinkedHashSet比较
- HashSet,TreeSet 和 LinkedHashSet比较
- HashSet、TreeSet、LinkedHashSet的区别
- TreeSet 、HashSet 、LinkedHashSet 的使用
- HashSet,linkedHashSet,TreeSet的区别
- HashSet、LinkedHashSet、TreeSet的区别
- HashSet、TreeSet、LinkedHashSet的区别
- HashSet、TreeSet、LinkedHashSet三者比较
- HashSet /LinkedHashSet/TreeSet排序的不同
- HashSet,TreeSet和LinkedHashSet的区别
- HashSet /LinkedHashSet/TreeSet排序的不同
- HashSet,TreeSet和LinkedHashSet的区别
- HashSet,TreeSet和LinkedHashSet的区别
- HashSet,TreeSet和LinkedHashSet的区别
- HashSet,TreeSet和LinkedHashSet的区别
- HashSet、LinkedHashSet、TreeSet的内部实现简介
- centos7 mysql数据库安装和配置
- 如何长时间高效学习
- Python第三方库——urlparser
- matlab 出现Undefined function 'functionname' for input arguments of type 'logical'问题的解决办法
- 兼容IE9以下的input实时监听例子
- HashSet,LinkedHashset,TreeSet的比较
- 设备树在platform设备驱动开发中的使用解析
- MyChrome制作Chrome浏览器便携版
- Lucky Numbers (easy) CodeForces
- Unity 保存图片到手机相册(安卓、苹果)
- 【java自然语言处理】ansj分词
- js中获取js创建的对象
- Java多线程的一种实现
- hdu 6108 小C的倍数问题