zoukankan      html  css  js  c++  java
  • HashMap和Hashtable有什么区别?

    HashMap和Hashtable都实现了Map接口,因此很多特性非常相似。但是,他们有以下不同点:

    1、HashMap是非线程安全的,HashTable是线程安全的。

    2、HashMap允许键和值是null,而Hashtable不允许键或者值是null。

    3、因为线程安全的问题,HashMap效率比HashTable的要高。
    4、Hashtable是同步的,而HashMap不是。因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。
     
    5、HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的。另一方面,Hashtable提供了对键的列举(Enumeration)。
    一般认为Hashtable是一个遗留的类。
        一般现在不建议用HashTable, ①是HashTable是遗留类,内部实现很多没优化和冗余。②即使在多线程环境下,现在也有同步的ConcurrentHashMap替代,没有必要因为是多线程而用HashTable。
  • 相关阅读:
    Python_day1
    12/04
    Linux基础笔记
    八:动态规划-未名湖边的烦恼
    七:动态规划-数字三角形
    六:大数运算-减法运算
    五:大数运算-加法运算
    四:大数运算-乘法运算
    三:排序-幸运数字
    二:排序-果园
  • 原文地址:https://www.cnblogs.com/yonyong/p/9323431.html
Copyright © 2011-2022 走看看