zoukankan      html  css  js  c++  java
  • C#.Net 中ArrayList 与 Array的区别

    ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。例如:

    Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制。
    ArrayList 提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。
    使用 Synchronized 方法可以很容易地创建 ArrayList 的同步版本。而 Array 将一直保持它直到用户实现同步为止。
    ArrayList 提供将只读和固定大小包装返回到集合的方法。而 Array 不提供。
    另一方面,Array 提供 ArrayList 所不具有的某些灵活性。例如:

    可以设置 Array 的下限,但 ArrayList 的下限始终为零。
    Array 可以具有多个维度,而 ArrayList 始终只是一维的。
    特定类型(不包括 Object)的 Array 的性能比 ArrayList 好,这是因为 ArrayList 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和取消装箱。
    要求一个数组的大多数情况也可以代之以使用 ArrayList。它更易于使用,并且通常具有与 Object 类型的数组类似的性能。

    Array 位于 System 命名空间中;ArrayList 位于 System.Collections 命名空间中。
     
     
     //ArrayList动态数组 定义 赋值 输出  ArrayList可以不用指定维数 可动态赋值  赋不同类型值
                ArrayList arrayList1 = new ArrayList();
                arrayList1.
                arrayList1.Add("a");
                arrayList1.Add(1);
                arrayList1.Add("b");
                Response.Write(arrayList1[1]);
     
     
                //Array数组类 所有数组的基类 定义 赋值 输出  Array的容量是固定的 先指定大小 在赋值
                Array arrayList2 = Array.CreateInstance(typeof(string), 6);
                arrayList2.SetValue("a", 0);
                arrayList2.SetValue("b", 1);
                Response.Write(arrayList2.GetValue(1));

                //数组 定义 赋值 输出  先指定大小 在赋值
                string[] arrayList;
                arrayList=new string[]{"A","B","C","D"};
                arrayList[0] = "abcde";
                arrayList[2] = "1234";
                arrayList.SetValue("dd", 3);
                Response.Write(arrayList[0]);
     
                //哈希表
                Hashtable abc = new Hashtable();
                abc.Add("1", "34");
                if (abc.Contains("1"))
                {
                    Response.Write(abc["1"]);
                }


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/txl816/archive/2008/10/20/3109075.aspx

  • 相关阅读:
    C# 获取文件名、无后缀文件名、扩展名
    navicat for oracle 导入xlsx文件提示无法打开xlsx文件
    复制的文件不能粘贴到远程的服务器上
    使用.bat 批量将部分文件迁移到新的路径下
    sql sever 查询用户所有的表和各个表数据量
    orecle 查询数量 union合并 的排序问题
    oracle 如何将带有,的一列分成多列
    java中selenium判断某个元素是否存在
    docker安装Ubuntu以及ssh连接
    Java8 将List<JavaBean>中某个属性取出来为单独的一个集合List<String>
  • 原文地址:https://www.cnblogs.com/jasonwb/p/1851564.html
Copyright © 2011-2022 走看看