HashMap和HashTable的区别

首先HashMap和HashTable都实现了map的接口,但使用它们之前还是要弄清楚它们之间的区别

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

posted on 2019-05-22 10:03  灰羽枫林  阅读(96)  评论(0编辑  收藏  举报