首页 > 代码库 > C#的ArrayList集合的使用
C#的ArrayList集合的使用
集合类是一种将各相同类型的对象集合起来的类,数组实质上也是集合类型中的一种。
集合主要是以线性结构存储结构
C#提供ArrayList类、Queue类、Stack类
1.ArrayList类简介:
ArrayList类可以动态地添加和删除元素。
ArrayList类相当于一种高级的动态数组,是Array类的升级版本,但它并不等同于数组。
2.与数组的比较:
(1)数组的容量是固定的,而ArrayList的容量可以根据需要自动扩充
(2)ArrayList提供添加,删除,插入某一范围元素的方法,但在数组中只能一次获取或设置一个元素值。
(3)ArrayList提供将只读和固定大小包装返回到集合的方法,而数组不提供
(4)ArrayList只是一维形式,而数组可以是多维的
3.ArrayList提供3个构造器,所以可以有3种声明方法:
(1)默认的构造器,以默认的大小来初始化内部的数组
public ArrayList()
示例:ArrayList list = new ArrayList();
for(int i=0;i<10;i++){list.Add(i)}//给ArrayList对象添加10个int类型元素
(2)用一个ICollection对象来构造,并将该集合的元素添加到ArrayList中
public ArrayList(ICollection)
示例:int[] arr = new int[]{1,2,3,4,5,6,7,8,9}
ArrayList list = new ArrayList(arr)//将一位数组添加到ArrayList集合中
(3)用指定的大小初始化内部的数组
public ArrayList(int)
示例:ArrayList list = new ArrayList(10)
for(int i=0;i<list.Count;i++){list.Add(i)}
4.ArrayList常用的属性:
Capacity 获取或设置ArrayList可包含的元素数
Count 获取ArrayList中实际包含的元素数
IsFixedSize 获取一个值,该值指示ArrayList是否具有固定大小
IsReadOnly 获取一个值,该值指示ArrayList是否为只读
IsSynchronized 获取一个值,该值指示是否听不对ArrayList的访问
Item 获取或设置指定索引处的元素
SyncRoot 获取课用于同步ArrayList访问的对象
5.添加ArrayList集合元素
(1)Add方法
将对象添加到ArrayList集合的结尾处
语法:public virtual int Add(Object value)
说明:value表示要加到ArrayList的末尾处的Object,该值可以为空引用。其返回值为ArrayList索引,表示已在此处添加了value
(2)Insert方法
将元素插入ArrayList集合的指定索引处
语法:public virtual void Insert(int index,Object value)
说明:index表示从零开始的索引,应在该位置插入value;value表示要插入的Object,该值可以为空引用。
注意:其实也可以用InsertRange方法给ArrayList插入一个数组的。
List.InsertRange(index,一位数组名)
6.删除ArrayList集合元素
(1)Clear方法
移除ArrayList中所有的元素
语法:public virtual void Clear()
(2)Remove方法
从ArrayList中移除特定对象的第一个匹配项
语法:public virtual void Remove(Object obj)
说明:obj表示要从ArrayList移除的Object,该值可以为空引用
(3)RemoveAt方法
移除ArrayList的指定索引处的元素
语法:public virtual void RemoveAt(int index)
说明:index表示要移除的元素的从零开始的索引
(4)RemoveRange方法
从ArrayList中移除一定范围的元素
语法:public virtual void RemoveRange(int index,int count)
说明:index表示要移除的元素的范围从零开始的索引,count表示要移除的元素数
7.遍历ArrayList集合
ArrayList list = new ArrayList();
list.Add("碟中谍")
list.Add("明日边缘")
foreach(string str in list){Console.Write(str+"")}
8.查找ArrayList集合元素
(1)Contains方法
确定某元素是否在ArrayList集合中
语法:public virtual bool Contains(Object item)
说明:item表示要在ArrayList中查找的Object,该值可以为空引用。其返回值表示,如果在ArrayList中找到item,则为TRUE
(2)IndexOf方法
搜索指定的Object,并返回整个ArrayList中第一个匹配项的从零开始的索引
语法:public virtual int IndexOf(Object value)
说明:value表示要在ArrayList中查找的Object,该值可以为空引用。其返回值表示,如果在ArrayList中找到value的第一个匹配项,则为该项的从零开始的索引,否则为-1
(3)LastIndexOf方法
搜索指定的Object,并返回整个ArrayList中最后一个匹配项从零开始的索引
语法:public virtual int LastIndexOf(Object value)
说明:value表示要在ArrayList中查找的Object,该值可以为空引用。其返回值表示,如果在ArrayList中找到value的最后一个匹配项,则为该项的从零开始的索引,否则为-1