版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/84549784
HashTable
HashTable和HashMap的区别(面试题)
- HashTable 基于 Dictionary 类,而 HashMap 是基于 AbstractMap
- HashMap 的 key 和 value 都允许为 null,而 Hashtable 的 key 和 value 都不允许为 null
- Hashtable 方法是同步,而HashMap则不是。
- 一般都建议如果是涉及到多线程同步时采用 HashTable,没有涉及就采用 HashMap,
区别总结
HashMap 和 Hashtable 是 Map 接口的两个典型实现类
区别
- Hashtable 是一个古老的 Map 实现类,不建议使用
- Hashtable 是一个线程安全的 Map 实现,但 HashMap 是线程不安全的。
- Hashtable 不允许使用 null 作为 key 和 value,而 HashMap 可以
- 与 HashSet 集合不能保证元素的顺序一样,Hashtable 、HashMap 也不能保证其中 key-value 对的顺序
- Hashtable 、HashMap 判断两个 Key 相等的标准是:两个 Key 通过 equals 方法返回 true,hashCode 值也相等。
- Hashtable 、HashMap 判断两个 Value相等的标准是:两个 Value 通过 equals 方法返回 true