Java中HashMap和Hashtable的区别浅析


HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

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

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

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



相关阅读:
盗版Windows能升级win10吗?能但升完还是盗版
收不到Win10一周年更新怎么办? 只需一个命令即可搞定
微信支付java版本之获取Access_token
ASP.NET导出数据到Excel的实现方法
解决MySQL中的Slave延迟问题的基本教程
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
Win10如何屏蔽通知和操作中心消息提示有哪些方法
mysql自动增量备份的实例方法(本地备份与远程备份)
史上最详细的Windows10正式版预约升级全过程
玩转JavaScript OOP - 类的实现详解
原生javascript实现简单的datagrid数据表格
基于jQuery实现的QQ表情插件
升级Windows10之后可以降级吗?(30天内可反悔)
CSS控制二级菜单动态出现不只有js才能做到
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4