C# - ArrayList 类

ArrayList 表示一个可单独索引的有序对象集合。它是数组的替代方法。然而,与数组不同的是,您可以使用索引在指定位置添加和删除列表中的项目,并且数组会自动调整大小。它还允许动态内存分配,并允许在列表中添加、搜索和排序项目。

ArrayList 类的属性

下表列出了 ArrayList 类的一些常用属性 -

序号 属性 &说明
1

Capacity

获取或设置 ArrayList 可包含的元素数量。

2

Count

获取 ArrayList 中实际包含的元素数量。

3

IsFixedSize

获取一个值,指示 ArrayList 是否具有固定大小。

4

IsReadOnly

获取指示 ArrayList 是否为只读的值。

5

Item

获取或设置指定索引处的元素。

ArrayList 类的方法

下表列出了 ArrayList 类的一些常用方法 -

Sr.No. 方法和说明
1 Add(object value)

将一个对象添加到 ArrayList 的末尾。

2 AddRange(ICollection c)

将 ICollection 的元素添加到 ArrayList 的末尾。

3 BinarySearch(Object)

使用默认比较器在整个已排序的 ArrayList 中搜索元素。

4 public virtual void Clear()

从 ArrayList 中删除所有元素。

5 Clone();

创建 ArrayList 的浅拷贝。

6 Contains(object item)

判断元素是否在 ArrayList 中。

7 CopyTo(Array)

将整个 ArrayList 复制到一个兼容的一维数组,从目标数组的开头开始。

8 IndexOf(object)

返回 ArrayList 或其部分中某个值首次出现的从零开始的索引。

9 Insert(int index, object value)

将元素插入到 ArrayList 的指定索引处。

10 GetRange(int index, int count)

返回一个 ArrayList,该 ArrayList 表示源 ArrayList 中元素的子集。

11 Remove(object obj)

从 ArrayList 中删除指定对象的第一个匹配项。

12 RemoveAt(int index)

删除 ArrayList 中指定索引处的元素。

13 RemoveRange(int index, int count)

从 ArrayList 中删除一定范围内的元素。

14 Reverse()

反转ArrayList。

15 Sort()

对 ArrayList 中的元素进行排序。

16 FixedSize(ArrayList)

返回一个具有固定大小的 ArrayList 包装器。

17 Synchronized(ArrayList)

返回一个同步(线程安全)的 ArrayList 包装器。

18 ToArray()

将 ArrayList 的元素复制到一个新的对象数组。

19 TrimToSize()

将容量设置为数组中元素的实际数量ArrayList。

20 ReadOnly(ArrayList)

返回一个只读的 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.html