C#学习笔记15-集合之ArrayList
集合与数组
集合,类似于数组,但与数组存在很大的区别,更加便于存储数据,主要区别在于:
1)集合可存储任意长度的变量、而数组只能存储固定长度的变量
2)集合可存储任意类型的变量、而数组只能存储固定类型的变量
3)集合可一次存储长度很长的数组或其他,而数组一次只能存储一种变量
集合的基本语法和常用方法
集合的基本语法
集合可以看作成一种类,因此在使用时需要先创建一个对象
ArrayList list = new ArrayList();
集合的常用方法
list.Add(1); //加入变量
list.Add("张三");
list.Add(new Person());
list.AddRange(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 });//加入数组,如果数组元素不这样添加,会不能正常显示
list.Remove(1);//移除特定元素
list.RemoveAt(2);//按索引移除元素
list.RemoveRange(1, 3);//按范围移除元素
list.Sort();//用于升序排列,比较数值类型
list.Reverse();//用于反转
list.Insert(3, "帅");//在指定位置插入元素
list.Contains(5);//集合中是否包含某种元素
int x = list.Count;//集合中的成员数
int y = list.Capacity;//集合中所能放置最多的元素,会随着成员数增加而增加
list.Clear();//清空所有元素
读取ArrayList中元素
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]);
}
Console.WriteLine(list[i]);
}
注 :上述读取方法较为复杂,如果存储变量类型过多读取不太方便,后续可以看到更加简单的集合方法