黑马程序员技术交流社区

标题: HashMap类和TreeMap类,在存储和适用范围上有何不同? [打印本页]

作者: 巴蜀贤君    时间: 2011-10-19 10:11
标题: HashMap类和TreeMap类,在存储和适用范围上有何不同?
我怎么取区分HashMap类和TreeMap类呢??,有点儿模糊,谁指点一下

该贴已经同步到 巴蜀贤君的微博
作者: zhangxinxin    时间: 2011-10-19 14:27
HashMap类和TreeMap类
“集合框架”提供两种常规的Map实现:HashMap和TreeMap (TreeMap实现SortedMap
接口)。在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自
然顺序或自定义顺序遍历键,那么TreeMap会更好。使用 HashMap要求添加的键类明
确定义了hashCode()和equals()的实现。
这个TreeMap没有调优选项,因为该树总处于平衡状态。
1. HashMap类
为了优化HashMap空间的使用,您可以调优初始容量和负载因子。
(1) HashMap(): 构建一个空的哈希映像
(2) HashMap(Map m): 构建一个哈希映像,并且添加映像m的所有映射
(3) HashMap(int initialCapacity): 构建一个拥有特定容量的空的哈希映像
(4) HashMap(int initialCapacity, float loadFactor): 构建一个拥有特定容量
和 加载因子的空的哈希映像
2. TreeMap类
TreeMap没有调优选项,因为该树总处于平衡状态。
(1) TreeMap():构建一个空的映像树
(2) TreeMap(Map m): 构建一个映像树,并且添加映像m中所有元素
(3) TreeMap(Comparator c): 构建一个映像树,并且使用特定的比较器对关键字进行排序
(4) TreeMap(SortedMap s): 构建一个映像树,添加映像树s中所有映射,并且使
用与有序映像s相同的比较器排 序




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2