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