C#之ArrayList类
创建一个ArrayList类可以动态的添加和删除元素,构造ArrayList的语法如下:
ArrayList List = new ArrayList();//List是ArrayList的对象名
ArrayList的常用属性及说明
属性 | 说明 |
---|---|
Capacity | 获取或设置ArrayList可包含的元素数 |
Count | 获取ArrayList中实际包含的元素数 |
IsFixedSize | 获取一个值,该值指示ArrayList是否具有固定大小 |
IsReadOnly | 获取一个值,该值指示ArrayList是否为只读 |
IsSynchronized | 获取一个值,该值指示是否同步对ArrayList的访问 |
Item | 获取或设置指定索引处的元素 |
SyncRoot | 获取可用于同步ArrayList访问的对象 |
向ArrayList中添加的元素:
(1)Add方法
该方法是将元素添加到ArrayList集合的结尾处,方法如下:
int[] arr = new int[] {
1,2,3,4,5,6};
ArrayList List = new ArrayList(arr);//使用声明的一维数组实例化一个ArrayList对象
List.Add(7);//将7添加的int[]数组中最后一个元素的后面
(2)Insert方法
该方法是将元素插入ArrayList集合的指定位置处,方法如下:
int[] arr = new int[] {
1,2,3,4,5,6};
ArrayList List = new ArrayList(arr);//使用声明的一维数组实例化一个ArrayList对象
List.Insert(3,7);//在一维数组的第三个索引处插入7
Insert(int index , Object value)
index :从零开始的索引,应在该位置插入value
value:要插入的Object ,该值可以为空引用;
删除ArrayList中的元素
(1)Clear方法
该方法是将ArrayList中的所有元素全部移除,其方法如下:
int[] arr = new int[] {
1,2,3,4,5,6};
ArrayList List = new ArrayList(arr);
List.Clear();
(2)Remove方法
该方法是在ArrayList中把指定元素的第一个匹配项移除,其方法如下:
int[] arr = new int[] {
1,2,3,4,5,3,6};
ArrayList List = new ArrayList(arr);
List.Remove(3);//数组中有两个3,该方法只将数组中第一个3移除
(3)RemoveAt方法
该方法是将ArrayList中指定索引处的元素移除,其方法如下:
int[] arr = new int[] {
1,2,3,4,5,6};
ArrayList List = new ArrayList(arr);
List.RemoveAt(3);//将数组中索引为3的元素移除,索引是从零开始的,所以此处移除的是4
注:索引是从零起始
(4)RemoveRange方法
该方法是用来从ArrayList 中移除一定范围的元素,其方法如下:
int[] arr = new int[] {
1,2,3,4,5,6};
ArrayList List = new ArrayList(arr);
List.RemoveRange(3,2);//从索引为3处开始移除两个元素,即把4和5移除
RemoveRange(int index, int count)
index:要移除的元素范围从零起始的索引
count:要移除元素的个数(其长度不能超出数组的总长度减去index的值)
遍历ArrayList
可以使用foreach语句遍历,如下:
ArrayList List = new ArrayList();//实例化一个ArrayList 对象
List.Add("ABCDEFG");//向List中添加元素
foreach(string str in List)//遍历List中的元素并输出
{
Console.WriteLine(str);
}
查找某个元素是否存在ArrayList 中
Contains方法可以确定某元素是否在ArrayList 集合中,其方法如下:
int[] arr = new int[] {
1,2,3,4,5,6};
ArrayList List = new ArrayList(arr);
Console.WriteLine(List.Contains(2));//判断2是否存在于List中
Contains(Object item)
item:要在ArrayList 查找的某个元素,该值可以为空引用
返回值:如果存在于ArrayList 中,则为true,否则为false