它表示可以單獨編製索引的物件的有序集合。它基本上是一個陣列的替代品。 但是,與陣列不同,可以使用索引來從列表中指定位置新增和刪除專案,並且陣列自動調整大小。 它還允許動態記憶體分配,新增,搜尋和排序列表中的專案。
下表列出了ArrayList
類的一些常用屬性:
屬性 | 描述 |
---|---|
Capacity | 獲取或設定ArrayList 可以包含的元素數。 |
Count | 獲取ArrayList 中實際包含的元素數。 |
IsFixedSize | 獲取一個值,指示ArrayList 是否具有固定大小。 |
IsReadOnly | 獲取一個值,指示ArrayList 是否為唯讀。 |
Item | 獲取或設定指定索引處的元素。 |
下表列出了ArrayList
類的一些常用方法:
序號 | 方法 | 描述 |
---|---|---|
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(41);
al.Add(70);
al.Add(133);
al.Add(56);
al.Add(120);
al.Add(213);
al.Add(90);
al.Add(111);
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: 8
Content: 41 70 133 56 120 213 90 111
Sorted Content: 41 56 70 90 111 120 133 213