相同点:
HashMap类出现之前,JDK中存在一个和它同样采用哈希表存储方式、同样实现键值映射的集合类Hashtable,两者实现原理相同,功能相同,很多情况下可以互用。
Hashtable和HashMap的主要区别如下:
1.Hashtable继承Dictionary类,而HashMap实现了Map接口。
2.Hashtable是线程安全的,而HashMap重速度、较安全,是线程非安全的。所以当运行到多线程环境中时,需要程序员自己管理线程的同步问题。
3.Hashtable不允许null值(key和value都不允许),HashMap允许null值(key和value都允许)
所以开发过程中最好使用新版本的HashMap。