C#学习笔记16-集合之Hashtable与Dictionary
Hashtable集合
Hashtable几个与上文提到的ArrayList集合(详情见文章C#学习笔记15-集合之ArrayList)存在许多相同的特点
其同样具有集合的多个特点,不同的是,Hashtable是一种键值对集合。
什么是键值对集合呢?键值对集合类似于我们在高等数学中所学的函数y=y(x),其中y对应于唯一的x,而x可以对应多个y
键值对集合也是这样的一种关系,键值对集合中件是唯一的,而值可以多个,在访问键值对的值时,需要通过键来访问。
基本语法及方法
创建对象
Hashtable ht = new Hashtable();
添加元素
ht.Add(1, "张三");
ht.Add(2, "男");
ht.Add(性别,"男");
ht[6] = "新来的";
ht[1] = "把张三干掉";//这种方法可以覆盖,用Add则会报异常
在Hashtable集合中,其添加元素需要采用一一对应的方法,并且一般不允许重复使用键,除非使用类似ht[1] = "把张三干掉"这样的赋值方法
Hashtable中的方法也与ArrayList类似,此处不再重复讲解,可以参照文章C#学习笔记15-集合之ArrayList
访问元素
值得一提的是,Hashtable中值的访问与ArrayList有所不同,需要通过键来访问值,格式如下:
Console.WriteLine(ht["性别"]);//---->男
Console.WriteLine(ht[2]);//--->男
Dictionary集合
Dictionary集合与Hashtable集合的特性基本一致,也是一种键值对集合,与Hashtable不同的是,Dictionary只能存储特定类型元素,其在创建对象时需要指定好内部存储的变量类型
基本语法
Dictionary<int,string> dic=new Dictionary<int,string>();
除此之外,其基本方法和访问方式与Hashtable类似,只在可存在部分差别,此处将留到后面再进行阐述。