目录
TryGetValue(TKey key, out TValue value)
Remove(TKey key, out TValue value)
基本概念
Dictionary是一个泛型集合,它存储唯一键和值的集合,其中每个键都是唯一且与一个值关联的。Dictionary内部被视为是无序的,但Dictionary的查找时间复杂度是O(1),因此Dictionary通常用于存储不关心顺序、但需要频繁查找的数据。同时,Dictionary本身也是动态扩容的数据结构,因此不需要关心字典容量问题。
Dictionary与Hashtable:
事实上,无论是Dictionary还是Hashtable,其底层都是哈希表,但这并不意味着这两种数据结构是完全相同的:
性能消耗
从性能消耗上来讲,由于Dictionary是泛型的,因而使用字典时并不需要装箱、拆箱的操作,并且从Dictionary中取出数据进行操作时也不需要对数据进行类型判断,因而Dictionary效率更高。
Hashtable则不是泛型,其键和值都是object类型,因此使用Hashtable时免不了装箱、拆箱的操作,同时由于涉及拆箱,因此需要在拆箱前对数据进行类型判断,以防止错误的数据类型转换。
线程安全性
Dictionary并不是一个线程安全的数据结构,因此Dictionary更推荐在单线程的程序中使用;Hashtable是线程安全的因此在多线程程序中更推荐使用Hashtable