首页 > 其他 > 详细

HashMap和Hashtable的区别

时间:2016-05-10 03:36:48      阅读:225      评论:0      收藏:0      [点我收藏+]

知识点梳理:

HashMapHashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key,由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。?

HashMap允许将null作为一个entrykey或者value,而Hashtable不允许。?

HashMapHashtablecontains方法去掉了,改成containsvaluecontainsKey。因为contains方法容易让人引起误解。?

Hashtable继承自Dictionary类,而HashMapJava1.2引进的Map?interface的一个实现。?

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap?就必须为之提供外同步。?

HashtableHashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

?

HashMapHashTable主要从三方面来说。?
.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMapJava?1.2引进的Map接口的一个实现?
.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的?
.值:只有HashMap可以让你将空值作为一个表的条目的keyvalue?

<!--EndFragment-->

HashMap和Hashtable的区别

原文:http://1790235360.iteye.com/blog/2296671

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!