1、集合体系
2、ArrayList
- 属于引用类型,ArrayList集合和List都是非静态类,使用时都必须先实列化。
- ArrayList类似一个数组,但比数组优越的是它的长度大小可变,并且可以存放不同类型的变量,包括值类型和引用类型。
- ArrayList的方法:
- Add(obejct value):方法用于添加一个元素到当前列表的末尾;
- AddRange() :方法用于添加一批元素(数组或集合)到列表的末尾;
- Remove() :方法用于删除一个元素,通过元素本身的引用来删除,参数填什么就删什么,
- RemoveAt(int index) :方法用于删除一个元素,通过索引值来删除;
- RemoveRange(int startIndex,int count) :用于删除一批元素,通过指定开始的索引和删除的数量来删除;
- Insert(int index,value) :用于添加一个元素到指定位置,列表后面的元素依次往后移;
- InsertRange(int index,values) :用于从指定位置开始添加一批元素,列表后面的元素依次往后移动;
- Contains() :用于查看集合中是否包含所给元素,返回boolean类型;
- Sort():集合排序;
- ArrayList的两个属性:
- Count :获取这个集合中实际包含的元素个数;
- Capcity:获取这个集合可以包含的元素个数;
------------------------------------------------------------------------------------------
ArrayList list = new ArrayList();
list.Add(1);
list.Add(true);
list.Add("张三");
Person p = new Person();
list.Add(p);
list.AddRange(new int[] { 1, 2, 3, 4, 5 });
for (int i = 0; i < list .Count; i++)
{
if (list[i] is Person)
{
((Person)list[i]).SayHello();
}
else if (list[i] is int[])
{
for (int j = 0; j < ((int[])list[i]).Length; j++)
{
Console.WriteLine(((int[])list[i])[j]);
}
}
else
{
Console.WriteLine(list[i]);
}
list.Add(1);
list.Add(true);
list.Add("张三");
Person p = new Person();
list.Add(p);
list.AddRange(new int[] { 1, 2, 3, 4, 5 });
for (int i = 0; i < list .Count; i++)
{
if (list[i] is Person)
{
((Person)list[i]).SayHello();
}
else if (list[i] is int[])
{
for (int j = 0; j < ((int[])list[i]).Length; j++)
{
Console.WriteLine(((int[])list[i])[j]);
}
}
else
{
Console.WriteLine(list[i]);
}
------------------------------------------------------------------------------------------
3、Hashtable键值对集合
- 哈希表,哈希表将键映射到相应的值,以键值对的形式存储到集合;
- 在键值对集合中,键是唯一的,不能重复的,而值是可以重复的。
- Hashtable加添键值对:
- Add(键,值); (如:Hashtable ht = new Hashtable(); ht.Add(1,"张三"); )
- Hashtable对象[键] = 值;(如:ht[2]="张三";)
- Hashtable集合foreach遍历取值:
Console.WriteLine("键{0}-->值{1}",item,ht[item]);
}
4、List泛型集合
- Hashtable方法:
- Add(键,值); 添加键值对集合;
- Remove(键); 根据键删除数据;
- Clea(); 清空集合;
- ContainsKey(键); 判断集合是否包含特定的键,返回boolean值;
- ContainsValue(值); 判断集合是否包含特定的值,返回boolean值;
- 命名空间引用 System.Collections.Generic
- List泛型集合的创建:
- ArrayList集合在存取数据时往往会发生装箱、拆箱,所以使用List泛型集合。
- List泛型集合是一个按需动态增加的数组。
- List泛型集合方法:
AddRange() 向集合中添加一批元素(相应类型的数组);
ToArray() 将List泛型集合转换为相应类型的数组;
5、Dictionary 键值对泛型集合
- Dictionary 键值对泛型集合的创建:
- Dictionary 集合的方法:
- Add(键,值)向集合中添加键值对;
- Remove(键); 根据键删除数据;
- Clea(); 清空集合;
- ContainsKey(键); 判断集合是否包含特定的键,返回boolean值;
- ContainsValue(值); 判断集合是否包含特定的值,返回boolean值;
- Dictionary 集合的foreach遍历取值:
Console.WriteLine("键{0},值{1}",kv
.Key,kv
.Value);
}