12.ArrayList : ①相当于一种高级的动态数组,Array类的升级版本.
②利于遍历数组,是一个很方便的容器类,可以存储任何引用类型或值类型.
ArrayList arr = new ArrayList();
ArrayList arr1 = new ArrayList(30); ==>可以添加到30以上 Student类
arr.Add(12); ==>定义int类型 Class Student {
arr.Add(true); ==>定义bool类型 public int No { get; set; }
arr.Add("Hello"); ==>定义字符串类型 public string Name { get; set; }
Student st = new Student(); ==>实例化Student类 }
st.No = 1001; ==>给st中的No赋值
st.Name = "zhangsan"; ==>给st中的Name赋值
arr.Add(st); ==>将st的值添加到arr中
arr.RemoveAt(1); ==>删除数组中第二个
arr.Insert(1, "World"); ==>插入数据World
for (int i = 0; i < arr.Count; i++)
{
Console.WriteLine(arr[i]); ==>for循环便利数组
}
13.Hashtable类型 : 两个参数影响其性能 ==> 初始容量、加载因子.
Hashtable ht = new Hashtable();
ht.Add("0531","济南市");
ht.Add("0532","青岛市");
ht.Add("0536","潍坊市");
ht.Add("0631","威海市");
Console.WriteLine(ht["0531"]); ==>输出下标为0531的值,此处为"济南市";
Console.WriteLine(ht.Count); ==>输出Hashtable数组的长度,此处为4;
14.ICollection类型 : 是IEnumerable的加强型接口,提供同步处理、赋值功能.
Hashtable ht = new Hashtable();
ht.Add("0531","济南市");
ht.Add("0532","青岛市");
ht.Add("0536","潍坊市");
ht.Add("0631","威海市");
ICollection keys = ht.Keys; ==>获取Hashtable中所有的keys值,这里不是方法,所以keys后没括号
foreach(string k in keys)
{
Console.WriteLine("{0}-----{1}",k,ht[k]);
}
15.IEnumerator 迭代器(与Hashtable)
Hashtable ht = new Hashtable();
ht.Add("0531","济南市");
ht.Add("0532","青岛市");
ht.Add("0536","潍坊市");
ht.Add("0631","威海市");
ICollection keys = ht.Keys; ==>获取Hashtable中所有的keys值,这里不是方法,所以keys后没括号
IEnumerator ie = keys.GetEnumerator(); ==>返回访问集合的枚举数
while(ie.MoveNext()) ==>枚举数推进到集合的下一元素
{
Console.WriteLine(ie.Current); ==>获取集合中当前元素
Console.WriteLine("{0}-----{1}",ie.Current,ht[ie.Current]);
}
16.IEnumerator 迭代器(与ArrayList)










