(9)C# 基础——ArrayList集合

.NET C# Web开发学习之路(九)——ArrayList集合

ArrayList类位于System.Collections命名空间下,它可以动态的添加和删除元素。ArrayList类型相当于一种高级的动态数组,是Array的升级版,但它不等同于数组。

ArrayList功能:

  • 数组的容量是有限的,而ArrayList的容量可以根据需要自动扩充。
  • ArrayList提供添加、删除和插入某一范围的元素的防范,但在数组中,只能一次获取或者设置 一个元素的值。
  • ArrayList提供将只读和固定大小包装返回到集合的方法,而数组不提供。
  • ArrayList只能是一维形式,而数组可以使多维的。

ArrayList构造器

有3种构造器,通过这3中构造器可以有3种声明方式。

1、 默认的构造器:将会以默认(16)的大小来初始化内部的数组。格式如下:

    public ArrayList();

通过以上构造器声明ArrayList的语法格式如下:

    ArrayList List =  new ArrayList();

2、用一个ICollection对象来构造,并将改集合的元素添加到ArrayList中。构造器格式如下:

    public ArrayList(ICollection);

通过以上构造器声明ArrayList语法格式如下:

    ArrayList list = new ArrayList(arrayName);

说明:

  • list:ArrayList对象名
  • arrayName:要添加集合的数组名。

例:声明一个int型数组,声明一个ArrayList对象,将数组中的元素添加到ArrayList对象中

    int[] arr = new int[]{1,2,3,4,5,6,7,8,9};
    ArrayList list = new ArrayList(arr);

3、用指定大小的初始化内部的数组。构造器格式如下:

    Arratyist List = new ArrayList(int)

通过以上构造器声明ArrayList的语法格式如下:

    ArrayList List = new ArrayList(n);

说明:

  • List:ArrayList对象名
  • n:ArrayList对象的空间大小

例:声明一个具有10个元素的ArrayList对象,并赋初始值。

    ArrayList List = new ArrayList(10);
    for(int i =0;i

ArrayList常用属性及说明

属性 说明
Capacity 获取或设置ArrayList可包含的元素数
Count 获取ArrayList中实际包含的元素数
IsFixedSize 获取一个值,该值指示ArrayList是否具有固定大小
IsReadOnly 获取一个值,该值指示ArrayList是否为只读
IsSynchronized 获取一个值,该值指示是否同步对ArrayList的访问
Item 获取或设置指定索引处的元素
SyncRoot 获取可用于同步ArrayList访问的对象

添加ArrayList集合元素

1、Add方法:讲对象添加到ArrayList集合的结尾处,语法格式如下:

    public virtual int Add(Object value)

说明:

  • value:要添加到ArrayList末尾处的Object,该值可以为空引用
  • 返回值:ArrayList的索引,已在此处添加了value。

2、Insert方法:将元素插入ArrayList集合的指定索引处,语法格式如下:

    public virtual void Insert(int Index,Object value)

说明:

  • index:从0开始的索引,应在该位置插入value
  • value:要插入的Object,该值可以为空运用。

    static void Main(string[] args)
    {
        int[] arr = new int[]{1,2,3,4,5,6};
        ArrayList List = new ArrayList(arr);
        Console.WriteLine("原ArrayLis集合");
        foreach(int i in List)
        {
            Console.Write(i +" ");
        }
        Console.WriteLine();
        for(int i=0;i<5;i++)
        {
            List.Add(i + arr.Length);
        }
        Console.WriteLine("使用Add方法添加:");
        foreach(int i in List)
        {
            Console.Write(i + " ");
        }
        Console.WriteLine();
        List.Insert(6,6);
        Console.WriteLine("使用Insert方法添加:")
        foreach(int i in List)
        {
            Console.Write(i + " ");
        }
        Console.WriteLine();
    }
    

运行结果为:
原ArrayList集合:
1 2 3 4 5 6
使用Add方法添加:
1 2 3 4 5 6 7 8 9 10
使用Insert方法添加:
1 2 3 4 5 6 6

删除ArrayList集合元素

1、Clear方法:从ArrayList中移除所有元素,语法格式如下:

    public virtual void Clear()

例:

    int[] arr= new int[]{1,2,3,4,5,6};
    ArrayList List = new ArratList(arr);
    List.Clear();

2、Remove方法:从ArrayList方法中移除特定对象的第一个匹配项

    public virtual void Remove(Object obj)

例:

    int[] arr= new int[]{1,2,3,4,5,6};
    ArrayList List = new ArratList(arr);
    List.Remove(3);//移除与3匹配的元素

3、RemoveAt:用来移除ArrayList指定索引处的元素

    public virtual void RemoveAt(int index)

例:

    int[] arr= new int[]{1,2,3,4,5,6};
    ArrayList List = new ArratList(arr);
    List.RemoveAt(3);//移除索引为3的元素。

4、RemoveRange方法:从ArrayList中移除一定范围的元素。

    public virtual void RemoveRange(int index,int count)

说明:

  • index:要移除的元素范围从0开始的起始索引
  • count:要移除的元素个数

例:

    int[] arr= new int[]{1,2,3,4,5,6};
    ArrayList List = new ArratList(arr);
    List.RemoveRange(3,2);//从索引3开始删除2个元素

查找ArrayList集合元素

1、Contains方法:用来确定某元素是否在ArrayList集合中。

    public virtual bool Contains(Object item)

说明:

  • item:要在ArrayList中查找的Object,该值可以为空引用
  • 返回值:如果找到了返回True,否则返回False。

2、IndexOf方法:用来搜索指定的Object,并返回整个ArrayList中第一个匹配项,从0开始的索引。

    public virtual int IndexOf(object value)

说明:

  • valuel:要在ArrayList中查找的Object,可以为空引用
  • 返回值:如果在ArrayList中找到value的第一个匹配项,则该项为从0开始的索引。否则为-1;

3、LastIndexOf方法:用来搜索指定的Object,并返回整个ArrayList中最后一个匹配项,从0开始的索引。

    public virtual int LastIndexOf(Object value)

说明:

  • valuel:要在ArrayList中查找的Object,可以为空引用
  • 返回值:如果在ArrayList中找到value的最后一个匹配项,则该项为从0开始的索引。否则为-1;

你可能感兴趣的:(C#基础)