首页 > 其他 > 详细

Hashtable-HashMap

时间:2017-05-16 12:44:03      阅读:259      评论:0      收藏:0      [点我收藏+]

Hashtable和HashMap的异同

1 HashMap类出现之前,jdk中存在一个和他同样采用哈希表储存方式,同样实现键值映射的集合类Hashtable。两个实现原理相同,功能相同,很多情况可以互用。

Hashtable和HashMap的区别如下

1 Hashtable继承自Dictionary类,而HaspMap实现了Map接口。

2 Hashtable是线程安全的,占用资源比较多,速度比较慢。而HashMap是线程非非安全的,在多线程中需要手动管理线程同步,他的优点在于速度比较快,不重安全。

Hashtable不许有null值(ke和value)都不允许,HasbMap允许有null值(ke和value)都可以,开发当中最好用HashMap

3 另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。

Hashtable-HashMap

原文:http://www.cnblogs.com/liuxingzhi/p/6860556.html

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