ArrayList的本质
ArrayList的本质是一个object类型的数组
申明
ArrayList array = new ArrayList();
增删查改
//增
//因为是object类型的数组,所以可以存任何类型的内容
array.Add("123");
array.Add(1);
ArrayList array2 = new ArrayList();
array2.Add(123);
//范围增加(那后一个arraylist容器中的内容加到前一个中)
array.AddRange(array2);
//指定位置增加
//在1位置插入“222”
array.Insert(1,"222");
//删
//移除指定元素,从头找,找到删除第一个
array.Remove(1);
//移除指定位置的元素
array.RemoveAt(2);
//清空
array.Clear();
//查
//得到指定位置的元素
Console.WriteLine(array[0]);
//查看元素是否存在
if (array.Contains("123"))
{Console.WriteLine("存在123");
}
//正向查找元素位置
//能找到的话返回值是位置,找不到的话返回值是-1
int index = array.IndexOf(1);
//反向查找元素位置
//返回从头计数的索引值
index = array.LastIndexOf(1);
//改
array[0] = 2;
//遍历
//长度,实际存了多少节内容
Console.WriteLine(array.Count);
//容量
Console.WriteLine(array.Capacity);
//遍历
for (int i = 0 ;i <array.Count;i++)
{Console.WriteLine(array[i]);
}
//迭代器遍历
foreach (object item in array)
{Console.WriteLine(item);
}
装箱拆箱
因为ArrayList本质是一个可以自动扩容的object数组
所以向其中进行值类型存储时就是在装箱,把值类型对象取出来转换使用时就是在拆箱
//装箱
int i = 1;
array [0] = i;
//拆箱
i = (int)array[0];