3.1集合的概述:
NET平台封装好了一些常用的数据结构,称为集合类
集合的主要特征:
1、动态地改变大小。
2、可储存任意类型的对象。
3、提供一系列操作集合对象的方法。
3.2列表集合ArrayList:
ArrayList类似于数组,因其大小可根据需要动态地改变,故也可称为动态数组。
ArrayLiat的常用属性
属性 | 功能说明 |
---|---|
Capacity | 获取或设置ArrayList可包含的元素个数 |
Count | 获取ArrayList实际包含的元素个数 |
注意:
ArrayList集合的索引也是从0开始,ArrayList中储存的元素超出容量时,其容量将自动增长一倍。
ArrayList的常用方法:
方法 | 功能说明 |
---|---|
Add(object obj) | 将元素添加到ArrayList结尾处 |
Insert(int index,object obj) | 将元素添加到ArrayList的指定索引处 |
Remove(object obj) | 移出ArrayLisrt指定的元素 (如果有同名的元素移除,会移除最后一个) |
RemoveAt(int index) | 移除ArrayList指定索引元素 |
Clear() | 清除ArrayList中所有元素 |
Sort() | 对ArrayList中的元素排序 |
Reverse() | 将ArrayList中的元素顺序反转 |
TrimToSize() | 将ArrayList容量数设置为实际元素个数 |
3.3字典集合Hashtable:
在,NET中,Hashtable是用于处理key/value(键/值)对的集合容器。其中,key通常用于快速查找,value用于储存对应于jey的值,key 区分大小写,Hashtable中键值均为object类型。
注意:Hashtable的key和value都是object类型,所以在访问时必须从object类型转换为存储前的类型。
Hashtable的常用属性:
属性 | 功能说明 |
---|---|
Keys | 获取包含Hashtable中所有键的ICollection(可以遍历该属性访问Hashtable中所有键) |
Values | 获取包含Hashtable中所有值的ICollection(可以遍历该属性访问Hashtable中所有值) |
Count | 获取Hashtable中键/值对的数目 |
foreach循环的优点:
1、reach语句简洁;
2、foreach循环效率比for循环要高(c#是强类型检查,for循环对数组进行访问时,要索引的有效值进行检查);
3、不用关心数组的起始索引是什么(因为有很多开发者是其他语言转到c#的,有些语言的起始索引可能是1或者是0)。
4、处理多维数组(不包括锯齿数组)更加方便。
语法:
foreach(Type t in arrays}
//……do your things
}
//Type:需要遍历每一个对象的类型。
//t:每一个对象。
//arrays:需要遍历对象。
Hashtable的常用方法:
方法 | 功能说明 |
---|---|
Add(object key,object value) | 将带有指定键和值的元素添加到Hashtable中 |
Remove(object key) | 从Hashtable中移出带有指定键的元素 |
Clear() | 移除Hashtable中所有元素 |
ContainsKey(object key) | 确定Hashtable中是否包含指定键 |
ContainsValue(object key) | 确定Hashtable中是否包含指定值 |
注意:Hashtable中的元素不需要按顺序存储和访问,所以在常用操作中没有ArrayList中的Insert和RomoveAt等与元素存储位置有关的方法。