Java提高之HashMap与Hashtable的区别
2017-12-13 18:46
363 查看
前面分别介绍了HashMap和Hashtable,接下来简单比较一下二者的区别。
/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继承了抽象类Dictionary[这是一个废弃的类],HashMap继承自抽象类AbstractMap
● Key-Value键值对处理上,Hashtable的Key/Value都不能为null,HashMap则都可以为null
●
Hashtable线程安全,HashMap线程不安全
基本环境
本文源码基于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线程不安全
相关文章推荐
- java hashtable 和 hashmap的区别
- Java学习之HashMap和Hashtable的区别
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap分别的区别
- JAVA中HashMap和Hashtable区别
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap分别的区别
- Java中Map接口HashMap与HashTable的区别及HashMap深入理解
- JAVA中HashMap和Hashtable区别
- HashTable HashMap HashSet区别(java)
- java 容器类使用 Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别
- Java笔试题:HashMap和HashTable的区别
- Java基础知识强化之集合框架笔记66:Map集合面试题之HashMap和Hashtable区别(重要)
- Java中hashmap和hashtable的区别
- Java学习之HashMap和Hashtable的区别
- HashTable HashMap HashSet区别(java)
- Java中hashmap和hashtable的区别
- java中HashMap,LinkedHashMap,TreeMap,HashTable,ConcurrentHashMap的区别和内部实现机制
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法
- java中Hashtable与HashMap的区别
- Java容器类List、ArrayList、Vector的区别及Map、HashTable、HashMap的区别
- Java中List,ArrayList、Vector,map,HashTable,HashMap区别用法