C# ArrayList

  • ArrayList

    ArrayList它表示可以单独索引的对象的有序集合。它基本上是数组的替代方法。但是,与数组不同,您可以使用索引在指定位置的列表中添加和删除项目,数组会自动调整自身大小。它还允许动态分配内存,添加,搜索和排序列表中的项目。
  • ArrayList类的方法和属性

    ArrayList 类的方法和属性
    下表列出了 ArrayList 类的一些常用属性-
    属性 功能
    Capacity 获取或设置ArrayList可以包含的元素数。
    Count 获取实际包含在ArrayList中的元素数。
    IsFixedSize 获取一个值,该值指示ArrayList是否具有固定大小。
    IsReadOnly 获取一个值,该值指示ArrayList是否为只读。
    Item 获取或设置指定索引处的元素。
    下表列出了ArrayList类的一些常用方法-
    方法 功能
    public virtual int Add(object value); 将一个对象添加到ArrayList的末尾。
    public virtual void AddRange(ICollection c); 将ICollection的元素添加到ArrayList的末尾。
    public virtual void Clear(); 从ArrayList中删除所有元素。
    public virtual bool Contains(object item); 确定元素是否在ArrayList中。
    public virtual ArrayList GetRange(int index, int count); 返回一个ArrayList,它表示源ArrayList中元素的子集。
    public virtual int IndexOf(object); 返回ArrayList或其一部分中第一次出现的值的从零开始的索引。
    public virtual void Insert(int index, object value); 将元素插入到ArrayList中的指定索引处。
    public virtual void InsertRange(int index, ICollection c); 将集合的元素插入ArrayList中的指定索引处。
    public virtual void Remove(object obj); 从ArrayList中删除第一次出现的特定对象。
    public virtual void RemoveAt(int index); 移除ArrayList指定索引处的元素。
    public virtual void RemoveRange(int index, int count); 从ArrayList中删除一系列元素。
    public virtual void Reverse(); 反转ArrayList中元素的顺序。
    public virtual void SetRange(int index, ICollection c); 在ArrayList中的一系列元素上复制集合的元素。
    public virtual void Sort(); 对ArrayList中的元素进行排序。
    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