您的位置:首页 > 编程语言 > Java开发

Java提高之HashMap与Hashtable的区别

2017-12-13 18:46 363 查看
前面分别介绍了HashMapHashtable,接下来简单比较一下二者的区别。

基本环境

本文源码基于Java API为Android API 25 Platform下的 Java API

/Users/du/Library/Android/sdk/platforms/android-25/android.jar!/java/util/HashMap.class 和

/Users/du/Library/Android/sdk/platforms/android-25/android.jar!/java/util/Hashtable.class

相同点

●  都基于哈希原理实现,使用拉链法解决哈希冲突

●  都是存储key-value键值对

●  都实现了Cloneable、Serializable接口

不同点

●  时间上,Hashtable比HashMap出现的早,Hashtable since JDK1.0, HashMap since JDK1.2

●  实现上,Hashtable继承了抽象类Dictionary[这是一个废弃的类],HashMap继承自抽象类AbstractMap

●  Key-Value键值对处理上,Hashtable的Key/Value都不能为null,HashMap则都可以为null

● 
Hashtable线程安全,HashMap线程不安全
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: