zoukankan      html  css  js  c++  java
  • Hashtable,HashMap,Dictionary的区别

    Hashtable和HashMap的区别:
    1.Hashtable是基于Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现,c#中无HashMap
    2.Hashtable的方法是同步的,而HashMap的方法不是
    3.HashMap可以让你将空值作为一个表的条目的key或value,Hashtable不可

    Hashtable和Dictionary的区别:

      (1).Hashtable不支持泛型,而Dictionary支持泛型。

               Dictionary<int,string> dictionary = new Dictionary<int,string>();  Hashtable不可如此写

      (2). Hashtable 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和拆箱的操作,所以你可能需要进行一些类型转换的操作,而且对于int,float这些值类型还需要进行装箱等操作,非常耗时。

      (3).单线程程序中推荐使用 Dictionary, 有泛型优势, 且读取速度较快, 容量利用更充分。多线程程序中推荐使用 Hashtable, 默认的 Hashtable 允许单线程写入, 多线程读取, 对 Hashtable 进一步调用 Synchronized() 方法可以获得完全线程安全的类型. 而 Dictionary 非线程安全, 必须人为使用 lock 语句进行保护, 效率大减。

  • 相关阅读:
    IAR EWARM PRINTF/SCANF FORMATTER
    Windows Self Signed Driver
    Remove a Driver Package from the Driver Store
    CMSIS-DAP调试器
    CHM文件无法查看内容解决办法
    HRESULT 0x80131515 解决方法
    dmalloc 原文 翻译整理
    Linux错误代码
    Windows 错误代码
    调码王版本历史
  • 原文地址:https://www.cnblogs.com/qk2014/p/4386913.html
Copyright © 2011-2022 走看看