C#之ArrayList 的用法

System.Collections.ArrayList类是一个特殊的数组,相当于一种高级的动态数组。通过添加和删除元素,就可以动态改变数组的长度。

一、优点

1. 支持自动改变大小的功能

2. 可以灵活的插入元素

3. 可以灵活的删除元素

4. 可以灵活访问元素

二、构成

ArrayList提供了三个构造器:

2.1 默认的构造器,将会以默认(16)的大小来初始化内部的数组
构造器格式:public ArrayList(); ArrayList对象名
2.2 用一个ICollection对象来构造,并将该集合的元素添加到ArrayList
构造器格式:public ArrayList(ICollection);

语法格式:ArrayList List = new ArrayList(arr); // arr : ArrayList de 对象名称
2.3 用指定的大小来初始化内部的数组
构造器格式:public ArrayList(int);

语法格式:ArrayList List = new ArrayList(n); // n : ArrayList 对象的空间大小

三、添加元素方法:

3.1 Add方法用于添加一个元素到当前列表的末尾

例如:int[] arr = new int [ ] {1.2.3.4};

            ArrayList  List  = new ArrayList(arr);

            List.Add(5) ;       // 为ArrayList 对象添加元素5.

      

3.2 AddRange方法用于添加一批元素到当前列表的末尾

3.3 Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动

例如:格式为:public arr void Insert (int index, Objectvalue)

                注:index 表示从零处开始的索引,应在该位置插入。

                              value 表示要插入的对象名称。

            int[] arr = new int [ ] {1.2.3.4}; 

            ArrayList  List = new ArrayList(arr);

            List.Insert(3,5) ;       // 为ArrayList 集合在指定的第3个位置处添加元素5.      

3.4 InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动

四、删除元素方法:

4.1 Remove方法用于删除一个元素,通过元素本身的引用来删除

例如:int[ ] arr = new int [ ] {1.2.3.4}; 

            ArrayList  List = new ArrayList(arr);

            List.Remove(3) ;   //  移除ArrayList对象中与3匹配的元素


4.2 RemoveAt方法用于删除一个元素,通过索引值来删除

格式:public virtual void RemoveAt ( intindex)

            备注:index:要移除的元素的从零开始的索引

4.3 RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除

 格式:publicvirtual void RemoveRange (int index, int count )

              备注:index表示要移除的元素范围从零开始的起始索引

                         count表示要移除的元素数

4.4 Clear方法用于清除现有所有的元素

 例如  : int[ ] arr = new int [ ] {1.2.3.4};

                ArrayList  List = new ArrayList(arr);

                List.Clear ();

五、ArrayList 的遍历

   ArrayList 集合的遍历与数组类似,都可以用Foreach 语句。 

5.1第一种遍历 ArrayList 对象的方法

foreach(object str in List)
{
Console.Write(str.To String()+" ");
}
5.2 第二种遍历 ArrayList 对象的方法
IEnumerator ie=al.GetEnumerator();
while(ie.MoveNext())
{
Console.Write(ie.Curret.ToString()+" ");
}
5.3 第三种遍历 ArrayList 对象的方法
利用 ArrayList对象的一个属性,它返回一此对象中的元素个数.
然后在利用索引
for(int i=0;i<Count;i++)
{
Console.Write(al[i].ToString()+" ");

}

六、ArrayList 的查找

查找ArrayList 集合中的元素时可以用ArrayList类提供的Contain方法、IndexOf方法、LastIndexOf方法。这里主要介绍Contains方法。

格式:public virtual bool Contains (Object item) 

         备注:item:要在Array LIst中查找的的对象,该值可以为空引用

                    返回值:如果找到则为true,否则为False。

七、ArrayList 与数组区别:

7.1数组容量是固定的,而ArrayList 容量是可以自动扩充的;

7.2数组中只能一次获取或设置一个元素的值,而ArrayList 中提供了编辑某一个范围的方法;

7.3数组中不提供只读和固定大小包装返回到集合的方法,而ArrayList 提供;

7.4数组可以是多维的,而 ArrayList 只能是一维形式。



评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值