HashTable HashMap TreeMap 本质区别
1. hashTable 线程安全 不允许有null的键和值 效率低 方法是Synchronized的
HashTable 数组默认大小是11 增加方式为 old*2+1
HashTable 使用Enumeration(枚举)方式实现
2. HashMap 线程不安全 允许有null的键和值 效率高一点 方法不是Synchronize要提供的同步
HashMap 数组默认大小是16 增长方式是2的指数倍
HashMap 使用Interator(迭代方式)调用
3. TreeMap 能够保存记录 按照键排序 默认升序排序
HashTable HashMap TreeMap 使用区别
1. HashMap 的元素排序方式不固定 (通过hashcode对其内容进行快速查找)
TreeMap 的元素都保持固定排序模式
2. HashMap 适用于 在Map中插入 删除 定位元素
TreeMap 适用于按照自然顺序或自定义排序遍历键key
分析: 一般情况 HashMap比TreeMap 快一些 若需要排序的Map 才使用TreeMap