C#学习笔记-常用非泛型集合类-ArrayList类(读自C#从入门到精通 第2版)

ArrayList是System.Collections命名空间中的非泛型集合类,类似于数组,有人称其为动态数组,其容量可以根据需要自动扩充,元素的索引也可根据元素数量重新分配,可以动态实现元素的添加、删除等操作。

可以将ArrayList类理解为Array的优化版本,该类既有数组的特征,又有集合的特性,例如,既可以通过下标进行元素访问,对元素进行排序、搜索,又可以像处理集合一样添加,在指定索引处插入及删除元素。

常用属性

  • Capacity: 获取或设置ArrayList可包含的元素数,默认为4
  • Count: 获取ArrayList中实际包含的元素数
  • Item: 获取或设置指定索引处的元素

常用方法

  • Add(): 将元素添加到ArrayList的结尾处
  • AddRange(): 在ArrayList的末尾增加一定范围内的元素
  • Clear(): 清除ArrayList中的所有元素
  • Contains(): 检查某元素是否在ArrayList中
  • IndexOf: 返回ArrayList中某个元素值得第一个匹配项对应的索引
  • Insert(): 将元素插入ArrayList的指定索引处
  • Remove(): 从ArrayList移除特定元素的第一个匹配项
  • Reverse(): 将ArrayList或它的一部分中的元素的顺序反转
  • Sort(): 对ArrayList或它的一部分中的元素进行排序

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

为了实现上面的例子,必须在using区添加System.Collections命名空间。

创建ArrayList

ArrayList的四种创建方式:

  1. 使用默认的初始容量创建ArrayList,该实例没有任何元素
ArrayList al1 = new ArrayList();
al1.Add("hello");
al1.Add("C#");
al1.Add("world!");
Console.WriteLine("al1中容量是{0}, 个数是{1}", al1.Capacity, al1.Count); // 4 3
  1. 使用实现了ICollection接口的集合类来初始化新创建的ArrayList,该实例与参数中的集合具有相同的初始容量
ArrayList al2 = new ArrayList(al1);
Console.WriteLine("al2容量是{0}, 个数是{1}",al2.Capacity, al2.Count); // 3 3
  1. 经由一个整数数值来初始化ArrayList的容量
ArrayList al3 = new ArrayList(18);
Console.WriteLine("al3的容量是:{0}, 元素个数是{1}", al3.Capacity, al3.Count); // 18 0
  1. 将指定abc字符串重复n次构造数组,以下以三次示例
ArrayList al4 = ArrayList.Repeat("abc", 3);
Console.WriteLine("al4的容量是:{0},元素个数是{1}", al4.Capacity, al4.Count); // 4 3
向ArrayList中添加元素的方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值