HashMap和Hashtable以及TreeMap的区别
来源:互联网 发布:linux 打开当前目录 编辑:程序博客网 时间:2024/05/15 10:51
最近用到了这三种集合类,由于不是很熟练,所以想整理下。而且前段时间面试,一般情况下面试官喜欢问HashMap和Hashtable的主要区别,其用意是想问被面试者这俩那个是线程安全的。但是HashMap和Hashtable之间的差别不止线程安全那么简单。两者的主要区别如下:
相同点:都实现了Map接口,都是轻量级的实现。两者采用的Hash算法几乎一样,所以性能不会有很大的差异。
1.语法上面的区别:
1)HashMap允许键值为空,Hashtable不允许。
2)HashMap包含了containsvalue和containsKey,不包含有contains。
2.安全方面的区别
HashTable支持线程安全的,而HashMap不支持线程同步,是非线程安全的。因此,HashMap相对来说效率可能会高于Hashtable。
3.源码级别的区别
Hashtable,hash数组默认的大小是11,增加的方式是old*2+1,而HashMap中,hash数组的默认大小是16,而且一定是2的指数。
相较于HashMap和HashTable,TreeMap是利用红黑树来实现的,实现了SortMap接口,能够对保存的记录根据键进行排序。所以一般需要排序的情况下是选择TreeMap来进行。
0 0
- HashMap和Hashtable以及TreeMap的区别
- HashMap,HashSet,Hashtable以及TreeMap的原理和区别
- hashMap、hashtable和treeMap的区别
- Hashtable、HashMap和TreeMap的区别
- Hashtable、HashMap和TreeMap的区别
- HashMap、HashTable、LinkedHashMap和TreeMap的区别
- HashMap、Hashtable、LinkedHashMap 和TreeMap的区别
- HashMap和Hashtable,TreeMap的区别
- Hashtable、HashMap和TreeMap区别
- HashMap HashTable TreeMap的区别
- HashMap, TreeMap, Hashtable的区别
- hashmap,hashtable,TreeMap, WeakHashMap的区别和联系?
- HashMap,HashTable,LinkedHashMap,TreeMap的区别和联系
- java map的区别 -- HashMap Hashtable LinkedHashMap 和TreeMap
- HashMap、Hashtable、LinkedHashMap 和TreeMap之间的区别
- HashTable HashMap TreeMap 区别
- HASHTABLE, HashMap,TreeMap区别
- HASHTABLE, HashMap,TreeMap区别
- Android之---获取手机屏幕、应用的宽和高
- MAC连接安卓手机通过adb指令安装apk
- Linux 下的Bluetooth 架构
- SQL中GROUP BY的理解
- Linux更换终端字体颜色
- HashMap和Hashtable以及TreeMap的区别
- JESD79-4 第2章 DDR4 SDRAM 的引脚封装与寻址
- sweet and other meal
- PAT1066:Root of AVL Tree Java语言实现
- 知识点--mysql--不断总结
- Android从零开始-Android工程的目录结构
- Linux_gzip/gunzip 命令 解压.gz 文件
- 更新页面数据时,怎么处理库里的数据和调用方的数据
- 毛玻璃效果