C#非泛型集合类-ArrayList数组集合类

ArrayList类可以视作是Array与Collection对象的结合,可以理解为Array的优化版本。该类既有数组的特征又有集合的特性,例如,既可以通过下标进行元素访问,对元素排序、搜索,又可以像处理集合一样添加、在指定索引插入及删除元素,还可以根据需要自动扩充容量。

由于ArrayList中元素的类型默认为object类型,因此,在获取集合元素时需要进行强制类型转换。并且object是引用类型,在与值类型进行转换时,会引起装箱和拆箱的操作,需要付出一些性能代价。

ArrayList类的属性和方法如下:

ArrayList的属性

Count:返回目前ArrayList包含的实际元素的数量,这个属性是只读的。
Capacity:指定ArrayList能够包含的最大数量,可以手动的设置这个属性,可以包含元素的个数,默认为16。
Item:可以通过索引器的方式访问元素。

ArrayList的方法

Add:用于添加一个元素到当前列表的末尾。
AddRange:用于添加一批元素到当前列表的末尾。
Insert:用于添加一个元素到指定位置,列表后面的元素依次往后移动
InsertRange:用于从指定位置开始添加一批元素,列表后面的元素依次往后移动。
Remove:用于删除一个元素,通过元素本身的引用来删除。
RemoveAt:用于删除一个元素,通过索引值来删除。
RemoveRange:用于删除一批元素,通过指定开始的索引和删除的数量来删除。
IndexOf:返回某个元素的索引。
Clear:用于清除现有所有的元素。
Contains:用来检查给定元素是否在数组之中。

这里要区分Capacity和Count的不同,前者指容量,后者是数量。容量是指最多可以存储多少个元素,数量是指真正存储了多少个元素,ArrayList的容量和数量都是可以改变的。就像一只杯子,其容量为一升,表时可以存储一升,但不一定要装满,装半杯水也可以。那么这半杯水相当于Count,一升水相当于Capacity。一般ArrayList的容量Capacity会大于或等于Count值,如果添加的元素超过容量,容量的值会增加一倍。

ArrayList属性的使用实例

using System;

using System.Collections;
class Program
{
static void Main()
{
    ArrayList list = new ArrayList();
    Console.WriteLine("Capacity:{0}", list.Capacity);
    Console.WriteLine("Count:{0}", list.Count);
}
}

从运行结果可以看出:当前list的容量为3,由于没有添加任何元素,元素的数量为0。

注意:使用ArrayList之前一定要在using区添加了System.Collections。

注意:ArrayList只能是一维的,声明ArrayList对象时必须实例化,不能像数组那样声明时直接赋值。ArrayList把所有的元素都当做对象引用,因此,可以在ArrayList中存储任何想要存储的对象,在访问这些数据时,需要进行数据的类型转换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值