.net框架-字典对象 Hashtable & Dictionary<TKey,TValue> & SortedList
字典对象:
字典对象是表示键值对的集合
字典对象有Hashtable(.net 1.0)及其泛型版本Dictionary<TKey,TValue>
字典对象还包括SortedList及其泛型版本SortedList<TKey,TValue>(SortedList按键进行排序)
字典对象实现了接口:IDictionary, ICollection, IEnumerable, ICloneable (泛型实现了IDictionary, ICollection, IEnumerable对应的泛型接口)
IDictionary接口:
object this[object key] {get;set;}
ICollection Keys {get;set;}
ICollection Values {get;set;}
void Add(object key, object value)
void Remove (object key)
object Contains(object key)
IDictionary<TKey, TValue>接口:
(1)与IDictionary相同的:
TValue this[TKey] {get;set;}
void Add(TKey,TValue)
......... (其它同IDictionary接口略,其它形式均为泛型T占位符参数代替Object参数)
(2)与IDictionary不同的:
bool ContainsKey(TKey)
bool TryGetValue(TKey, out TValue value)
区别:
Hastable 和 Dictionary<TKey,TValue>,前者是.net1.0下的字典对象,后者是前者泛型版本 ,泛型减少了装、拆箱和强制转换,效率更高
SortedList 和 SortedList<TKey,TValue>,按键序存储的字典对象
Hastable和SortedList,前进自然存储、后者按键序存储,故前者插入快,查找慢,后者反之。
参考:
http://www.cnblogs.com/xqhppt/archive/2011/09/15/2178101.html
.net框架-字典对象 Hashtable & Dictionary<TKey,TValue> & SortedList的更多相关文章
- 泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,Queue<T>,Stack<T>等
泛型与非泛型集合类在C#程序中是非常重要的一个基础概念,这里列一个表来进行对比: 非泛型集合类 泛型集合类 描述 ArrayList List<T> 表示具有动态大小的对象数组 Hasht ...
- C# 字典 Dictionary<Tkey,Tvalue>
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来.我们都知道计算机技术发展日新月异,速度惊人的快,你我稍不留神,就会被慢慢淘汰!因此:每日不间断的学习是避免被 ...
- C# .Net 中字典Dictionary<TKey,TValue>泛型类 学习浅谈
一.综述: Dictionary<TKey,TValue>是在 .NET Framework 2.0 版中是新增的.表示键值对的集合,Dictionary<TKey,TValue&g ...
- C#编程(五十三)----------字典Dictionary<TKey,TValue>
字典 关键字:Dicitionary 说明: 必须包含命名空间System.Collection.Generic Dictionary里面的每一个元素都是一个键值对(由两个元组组成:键和值). 键必须 ...
- C#字典 Dictionary<Tkey,Tvalue> 之线程安全问题 ConcurrentDictionary<Tkey,Tvalue> 多线程字典
ConcurrentDictionary<Tkey,Tvalue> Model #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutra ...
- C#中数组、集合(ArrayList)、泛型集合List<T>、字典(dictionary<TKey,TValue>)全面对比
C#中数组.集合(ArrayList).泛型集合List<T>.字典(dictionary<TKey,TValue>)全面对比 为什么把这4个东西放在一起来说,因为c#中的这4 ...
- Dictionary<Tkey.TValue>与SortedList
一.概述 表示Key/Value集合,可以添加删除元素,允许按Key来访问元素.是Hashtable的泛型等效类. 它需要一个相等实现来确定键是否相等,可以使用实现了IEqualityComparer ...
- .NET中Dictionary<TKey, TValue>浅析
.NET中Dictionary<TKey, Tvalue>是非常常用的key-value的数据结构,也就是其实就是传说中的哈希表..NET中还有一个叫做Hashtable的类型,两个类型都 ...
- Dictionary<TKey, TValue> 类
C# Dictionary<TKey, TValue> 类 Dictionary<TKey, TValue> 泛型类提供了从一组键到一组值的映射.字典中的每个添加项都由一个值及 ...
随机推荐
- 【转】Spring中@Async
Spring中@Async 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实, ...
- c++中的不是数的数nan
matlab中经常碰到nan,inf等特殊“数”,而在C++中也有相应的表示:例如std::numeric_limits <float>::quiet_NaN ();可以得到浮点型的nan ...
- 动态字节码技术Javassist
字节码技术可以动态改变某个类的结构(添加/删除/修改 新的属性/方法) 关于字节码的框架有javassist,asm,bcel等 引入依赖 <dependency> <groupI ...
- docker使用1
1. 安装 可以参考https://www.runoob.com/docker/centos-docker-install.html 注意linux版本是centos7.6 2. docker启动,停 ...
- 百度小程序上传失败 ServerError:30010的原因
最近通过uniapp编译百度智能小程序后上传遇到了报错,错误码为30010. 原因很简单开发者工具和版本库产生了冲突. 两个解决方案,升级开发者工具,降低发布时的版本库 exit;
- javascript 代码实例
数组去重 function unique(arr){ if(!Array.isArray(arr)){ console.log('type error!'); return; } arr = arr. ...
- HA 高可用集群概述及其原理解析
HA 高可用集群概述及其原理解析 1. 概述 1)所谓HA(High Available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件 ...
- redis 安装使用 & SpringBoot Redis配置
1.安装 https://www.cnblogs.com/dingguofeng/p/8709476.html https://www.runoob.com/redis/redis-keys.html ...
- WebAPI 之问题记录
这篇博客是博主的第一篇博客,主要用于webapi学习过程中的问题记录 问题1: 重写OnAuthorization权限验证时,遇到AllowAnonymousAttribute特性不起作用的问题 p ...
- 阿里企业邮箱smtp设置
阿里的邮箱没有SMTP授权码信息 SMTP服务器:smtp.mxhichina.com