JAVA高级基础(16)---HashTable(了解)与HashMap的区别

版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/84549784

HashTable

HashTable和HashMap的区别(面试题)

  1. HashTable 基于 Dictionary 类,而 HashMap 是基于 AbstractMap
  2. HashMap 的 key 和 value 都允许为 null,而 Hashtable 的 key 和 value 都不允许为 null
  3. Hashtable 方法是同步,而HashMap则不是。
  4. 一般都建议如果是涉及到多线程同步时采用 HashTable,没有涉及就采用 HashMap,

区别总结

        HashMap 和 Hashtable 是 Map 接口的两个典型实现类

区别

  1. Hashtable 是一个古老的 Map 实现类,不建议使用
  2. Hashtable 是一个线程安全的 Map 实现,但 HashMap 是线程不安全的。
  3. Hashtable 不允许使用 null 作为 key 和 value,而 HashMap 可以
  4. 与 HashSet 集合不能保证元素的顺序一样,Hashtable 、HashMap 也不能保证其中 key-value 对的顺序
  5. Hashtable 、HashMap 判断两个 Key 相等的标准是:两个 Key 通过 equals 方法返回 true,hashCode 值也相等。
  6. Hashtable 、HashMap 判断两个 Value相等的标准是:两个 Value 通过 equals 方法返回 true

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/84549784
今日推荐