C# - ArrayList 類



它表示一個可以單獨索引的物件的有序集合。它基本上是陣列的替代方案。但是,與陣列不同,您可以使用索引在指定位置新增和刪除列表中的專案,並且陣列會自動調整自身大小。它還允許動態記憶體分配,新增、搜尋和排序列表中的專案。

ArrayList 類的 方法和屬性

下表列出了ArrayList 類的一些常用屬性

序號 屬性 & 描述
1

Capacity

獲取或設定 ArrayList 可以包含的元素數。

2

Count

獲取 ArrayList 中實際包含的元素數。

3

IsFixedSize

獲取一個值,該值指示 ArrayList 是否具有固定大小。

4

IsReadOnly

獲取一個值,該值指示 ArrayList 是否為只讀。

5

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 表示源 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    
csharp_collections.htm
廣告