java基础(九)---继续聊聊map
2015-06-04 15:23
417 查看
map实现类的性能分析
对于map的常用实现类而言,HashMap和HashTable的效率大致相同,因为他们的实现机制几乎完全一样;但HashMap通常比HashTable要快一些,因为HashTable需要额外的线程同步控制嘛。
使用TreeMap通常比HashMap、HashTable要慢些(体现在增删上),因为TreeMap底层采用红黑树来管理key-value(红黑树的每个节点都是key-value对)
但使用TreeMap的好处是:TreeMap中的key-value对总是处于有序状态,无序专门进行排序,当TreeMap被赋值后,可以调用keySet(),取得key组成的Set,然后转换成数组,接下来使用Arrays的binarySearch()方法在已排序的数组中快速查找。
对于map的常用实现类而言,HashMap和HashTable的效率大致相同,因为他们的实现机制几乎完全一样;但HashMap通常比HashTable要快一些,因为HashTable需要额外的线程同步控制嘛。
使用TreeMap通常比HashMap、HashTable要慢些(体现在增删上),因为TreeMap底层采用红黑树来管理key-value(红黑树的每个节点都是key-value对)
但使用TreeMap的好处是:TreeMap中的key-value对总是处于有序状态,无序专门进行排序,当TreeMap被赋值后,可以调用keySet(),取得key组成的Set,然后转换成数组,接下来使用Arrays的binarySearch()方法在已排序的数组中快速查找。
相关文章推荐
- SpringMVC 学习笔记(三) 使用ServletAPI 和 实体 做为参数
- JAVASE学习笔记:第四章 JAVA数组
- json和map以及javabean之间的转换
- java web项目的部署
- java web项目的部署
- 【JAVA基础教程】-浅谈数组及其内存控制
- 团队开发中,eclipse中安装jre
- JAVASE学习笔记:第三章 JAVA流程控制语句
- JAVASE学习笔记:第二章 JAVA基本数据类型
- 如何关闭MyEclipse自动更新
- 扫雷:我的Java之路--第一个小作品
- JAVASE学习笔记:第一章 认识JAVA
- java四舍五入保留两位小数方法整理
- Java代码规范文档
- 15、Spring事件机制_观察者模式
- struts2基础(1)
- [Leetcode]Rotate Array java(三种)
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- service的发布与接收
- java-web开发乱码问题