动态数组,用于存储对象集合,属于System.Collection命名空间中的一个类,可以动态添加删除和访问元素
一、声明ArrayList
有多种声明方式:
ArrayList list1 = new ArrayList(); //第一种,没有设置容量,自动扩容
ArrayList list2 = new ArrayList(2); //第二种,设置了容量
ArrayList list3 = new ArrayList(new int[] {1,2,3}); //根据数组来初始化
二、增
给ArrayList中添加数据:
ArrayList list1 = new ArrayList(); //先声明
list1.Add(1); //可以直接用函数Add来添加数据
//在ArrayList中如果没有之间声明变量类型,那么它可以将任意的数据类型将它添加进去
//要注意,如果添加的元素不同,那么list内部可能会出现装箱(拆箱)操作
list1.Add("2");
list1.Add(false);
foreach(var item in list) //将元素添加完成后,我们可以用foreach将所有的数据遍历出来进行查看一下
{
Console.WriteLine(item);
}
//也可以一次性添加多个元素
list1.AddRange(new object[] {"element","ele2"}); //AddRange()将()中所有添加的元素添加到ArrayList的末尾
三、删
将ArrayList中的元素删除:
ArrayList list1 = new ArrayList(); //声明
//先在空的ArrayList中添加数据
list1.Add(1);
list1.Add(2);
list1.Add(2);
//删除指定的元素
list1.Remove(1); //Remove()将()中的内容在list1中匹配到的第一个删除
list1.RemoveAt(0); //RemoveAt()括号为将要删除数据的索引位置
list1.Clear(); //清空整个List1集合
四、插入
在ArrayList中插入一组数据
ArrayList list3 = new ArrayList(new int[] {1,2,3});
//创建一组数据ICollection
ICollection arr = new string[] {"adc","hello","world"}; //ICollection可以理解为数组集合
//使用InsertRange在ArrayList中插入数据
list3.InsertRange(3,new int[] {1,2,3,4});//使用InsertRange(int i,InsertRange a)第一个为插入的索引位置,第二个参数代表插入的数据属于ICollection类型,这里的new int[]{} 相当于快速创建了一个ICollection类型的方法
foreach (var item in list3) //遍历查看
{
Console.WriteLine(item+"\t\t");
}