1. Dictionary<K,V>的非泛型对应的是Hashtable;
哈希表是一种查找数据非常快的数据结构,这也是Dictionary查找数据非常快的原因。
2. ASP.NET中的Application、Cache、Session、Request.Params的键值数据等均由Dictionary/Hashtable 实现。
数据库中的索引也是相似的原理。
数据库中的索引也是相似的原理。
3. Dictionary中有一个存储键值对的区域,采用一个固定算法(散列算法,非常快,可以认为时间复杂度为O(1) )
根据key来计算这个kvp存放的地址,计算key的值的键值对应该存储的地址,将键值对放入指定的地址即可。
查找的时候首先计算key的地址,就可以找到数据了。根据key找房间号,而不是逐个房间找。(*)
4. List<T>对应的非泛型结构是ArrayList