C# ArrayList类
它表示可单独被索引的对象的有序集合。它基本上是一种替代数组。但是不像数组,可以在指定位置添加和删除利用指数从列表中的项目,并且数组能自动调整本身大小。它也允许动态存储器分配,添加,搜索和排序列表中的项目。
ArrayList类的方法和属性
下表列出了一些ArrayList类的常用属性:
属性 | 描述 |
---|---|
Capacity | 获取或设置ArrayList可以包含的元素数量 |
Count | 获取实际ArrayList中包含的元素数量 |
IsFixedSize | 获取一个用以指示ArrayList是否具有固定大小 |
IsReadOnly | 获取一个值,指示ArrayList是否为只读 |
Item | 获取或设置指定索引处的元素 |
下表列出了一些ArrayList类的常用方法:
S.N | 方法名称及用途 |
---|---|
1 |
public virtual int Add( object value ); 将对象添加到ArrayList的末尾 |
2 |
public virtual void AddRange( ICollection c ); 增加一个元素ICollection到ArrayList的末尾 |
3 |
public virtual void Clear(); 将删除ArrayList中的所有元素 |
4 |
public virtual bool Contains( object item ); 确定一个元素是否在ArrayList中 |
5 |
public virtual ArrayList GetRange( int index, int count ); 返回一个ArrayList,它表示在源 ArrayList 中的元素的子集 |
6 |
public virtual int IndexOf(object); 返回ArrayList中或它的一部分值,第一次出现的从零开始的索引 |
7 |
public virtual void Insert( int index, object value ); 将元素插入到ArrayList 指定索引处 |
8 |
public virtual void InsertRange( int index, ICollection c ); 插入一个集合的元素融入到 ArrayList 中的指定索引处 |
9 |
public virtual void Remove( object obj ); 将删除ArrayList中特定第一次出现的对象 |
10 |
public virtual void RemoveAt( int index ); 删除 ArrayList 指定索引处的元素 |
11 |
public virtual void RemoveRange( int index, int count ); 删除ArrayList中某一范围的元素 |
12 |
public virtual void Reverse(); 反转 ArrayList 元素的顺序 |
13 |
public virtual void SetRange( int index, ICollection c ); 副本的集合的在一定范围内,在ArrayList中的元素的元素 |
14 |
public virtual void Sort(); 排序ArrayList中的元素 |
15 |
public virtual void TrimToSize(); 设置ArrayList中元素的实际数量 |
例子:
下面的例子演示了这一概念:
using System; using System.Collections; namespace CollectionApplication { class Program { static void Main(string[] args) { ArrayList al = new ArrayList(); Console.WriteLine("Adding some numbers:"); al.Add(45); al.Add(78); al.Add(33); al.Add(56); al.Add(12); al.Add(23); al.Add(9); Console.WriteLine("Capacity: {0} ", al.Capacity); Console.WriteLine("Count: {0}", al.Count); Console.Write("Content: "); foreach (int i in al) { Console.Write(i + " "); } Console.WriteLine(); Console.Write("Sorted Content: "); al.Sort(); foreach (int i in al) { Console.Write(i + " "); } Console.WriteLine(); Console.ReadKey(); } } }
让我们编译和运行上面的程序,这将产生以下结果:
Adding some numbers: Capacity: 8 Count: 7 Content: 45 78 33 56 12 23 9 Content: 9 12 23 33 45 56 78