欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

详细介绍用C#描述数据结构3:ArrayList的图文代码

程序员文章站 2022-03-24 22:29:58
...

   在上一节介绍Array这个数据结构时,我们说到它是静态的,每个维度的元素个数在编译时,就得唯一确定下来,并且其类型是强类型。

  那么,在这一节,我们将讲述另一种与Array相似,但是克服了Array缺点的的数据结构:ArrayList
  首先,它不是静态的,编译时每一维度的元素个数不用指定,系统默认元素个数为16,当元素增多并即将大于16时,它会增倍扩容到32,依次规律增长,变小时,相反处理。
  其次,元素类型是弱类型,object。在运行时,根据实际被赋予的类型,确定每个元素的类型,也就是说,这个集合中的元素可以是各种不同的元素,鱼龙混杂式的。
先看下.NET提供的ArrayList的接口:
详细介绍用C#描述数据结构3:ArrayList的图文代码

1)对象创建和初始化

//对象创建
            ArrayList arrayList = new ArrayList() {3.14, "vuefine"};            
            //添加元素
            arrayList.Add("Hello wolrd");
            arrayList.Add(5);

2)访问元素

            //访问元素
            object ele0 = arrayList[0];
            Type t0 = ele0.GetType();//double

3)修改元素

             //修改元素
            arrayList[0] = "Ni hao";

4)删除元素

             //删除元素
            //移除已存在的对象
            arrayList.Remove(5);
            arrayList.RemoveAt(0);            //移除不存在的对象
            arrayList.Remove(12); //不抛异常

5)ArrayList和另外一些对象关系

            object cloneAL = arrayList.Clone(); //创建浅表副本
            Type tClone = cloneAL.GetType();            //Array是abstract,只能通过静态方法创建array
            Array array = Array.CreateInstance(typeof(object),arrayList.Count); 
            arrayList.CopyTo(array);//复制到array

相关文章:

js实现ArrayList功能附实例代码

PHP实现C#山寨ArrayList的方法

Java集合之ArrayList示例代码分析

以上就是详细介绍用C#描述数据结构3:ArrayList的图文代码的详细内容,更多请关注其它相关文章!