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
广告