首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >HashMap和Hashtable的区别

HashMap和Hashtable的区别

作者头像
MickyInvQ
发布2020-09-27 10:37:04
发布2020-09-27 10:37:04
4960
举报
文章被收录于专栏:InvQ的专栏InvQ的专栏

HashMap与Hashtable都是java的集合类,都可以用来存放java对象,这是他们的相同点,但是他们也有区别:

一:历史原因:

Hashtable是基于陈旧的Dictionary类的,HashMap是基于java 1.2引进的Map接口的一个实现类。

二:同步性

Hashtable 是同步的,该类的方法保证了,Hashtable中的对象是线程安全的,而HashMap则是异步的。因此HashMap中的对象并不是线程安全的,因为同步的要求会影响执行的效率。所以如果不需要线程安全的集合,那么我们就要毫不犹豫的使用HashMap,这样可以避免由于同步带来的不必要的性能开销,从而提高效率。

三:值

HashMap可以让你将空值null作为一个元素的key或者value

但是Hashtable是不可以放入空值null的。

最大的区别就是同步性上的差别。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015/06/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档