精华内容
下载资源
问答
  • Array和ArrayList区别

    2017-04-05 11:51:34
    Array和ArrayList区别  Array  在C#中的数组也是对象,实际上是Array类的实例。  主要区别  Array类型的变量在声明的同时,必须进行实例化,至少是初始化数组的大小,而 ArrayList可以只先声明。  Array...

    Array和ArrayList区别


              Array

              在C#中的数组也是对象,实际上是Array类的实例。


              主要区别

              Array类型的变量在声明的同时,必须进行实例化,至少是初始化数组的大小,而 ArrayList可以只先声明。


              Array只能存储同构的对象,而ArrayList可以存储异构的对象。

              同构的对象是指类型相同的对象,如果声明为int[]型的数组,则只能存放整型数据,string[]只能存放字符型数据,但是,声明为Object[]的数组除外。

              ArrayList可以存放任何不同类型的数据,因为,它里面存放的都是被装箱了的Object型对象,实际上,ArrayList内部就是使用Object[]_items,这样一个私有字段来封装对象的。


              Array是始终连续存放的。

              ArrayList的存放不一定是连续的。


              Array对象是初始化必须只指定大小、且创建后的数组大小是固定的。

              ArrayList的大小可以动态指定,其大小可以在初始时指定,也可以不指定,也就是该对象的空间可以任意增加。


              Array不能够随意添加或删除其中的项。

              ArrayList可以在任意位置插入和删除项。


    展开全文
  • C# Array和ArrayList区别 C# Array和ArrayList区别 一,C# array数组的用法范例: type[] typename=new type[size]; 如int[] a=new int[2];string[] str=new string[5]; 实事上我们平常是...

    C# Array和ArrayList区别 C# Array和ArrayList区别

    一,C# array数组的用法范例:
    type[] typename=new type[size];
    如int[] a=new int[2];string[] str=new string[5];
    实事上我们平常是用int[],string[]...的,此时我们已经创建一个Array数组,只不过我们平常没有这种意识而已.
    (1):type数据类型不能缺;且要统一,而不能是如 int[] a=new Array[];
    (2):数组的大小size不能缺,否则c#认为是出错的,因为数组是一段固定长度的内存;
    (3):右边是一个中括号[],而不是()
    实例:

    //Array ar = new Array();//错误,无法创建抽象类或接口“System.Array”的实例
    //int[] array = new Array[3];错误,
    //int[] array = new Array[];错误,必须指定数组的大小或初始值
    //int[] array = new Array[3];//错误,无法转换为int[]
    //int[] array=new int[];//错误,必须指定数组的大小或初始值
    //平常我们int[],string[]...事实上就是声明一个array数组了

    int[] array = new int[5];
    //或int[] arr={1,2,3};
    for (int i = 0; i < 5; i++)
    {
    array[i] = i*100;//注:array数组并不提供add,clear,addRange..方法,而是直接设置或获取值
    Response.Write(array[i] + "<br>");
    }
    Response.Write(array.Length + "<br><br>");


    int [] intarray=new int[9];
    intarray[0]=10;
    intarray[1]=20;
    intarray[2]=30;
    intarray[3]=40;
    intarray[4]=50;
    intarray[5]=60;
    intarray[6]=70;
    intarray[7]=80;
    intarray[8]=90;

    二,C# ArrayList数组的用法范例:
    ArrayList al = new ArrayList();
    for (int i = 0; i < 3; i++)
    {
    al.Add(i);
    Response.Write(al[i].ToString() + "<br>");//输出数组中的元素值
    // Response.Write(al[i]+ "<br>");
    }
    Response.Write(al.Count + "<br><br>");
    foreach (int obj in al)//或foreach (object obj in al),因为al是一个object类型的数组
    {
    Response.Write(obj+"-OK"+"<br>");
    }

    三,ArrayList和Array相互之间的转化
    (1)以下是把ArrayList数组中的值拷贝到Array中去的实例用法
    //int[] IResult=new int[al.Count];
    //al.CopyTo(IResult);
    //或是用下面的方法
    int[] IResult = (int[])al.ToArray(typeof(Int32));//ToArray(Int32);这样错误,一定要强制类型转换
    //Person[] personArrayFromList = (Person[])personList.ToArray(typeof(Person));
    foreach(int item in IResult)
    {
    Response.Write(item.ToString());
    }

    Response.Write("以下是把Array数组中的值拷贝到ArrayList中去的实例用法" + "<br>" + "结果为:<br>");
    int[] a ={ 222, 333, 555 };
    ArrayList arrList = new ArrayList();
    foreach (object obj in a)//或foreach (int obj in a)
    {
    arrList.Add(obj);
    Response.Write(obj+"<br>");

    展开全文
  • Array 和ArrayList区别

    2010-11-16 22:19:00
    [Array和ArrayList区别]#1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明。如: int[] array = new array[3]; 或 int[] array = {1,2,3}; 或 ArrayList ...

    [Array和ArrayList的区别]

    #1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明。
    如:
     int[] array = new array[3];
     或 int[] array = {1,2,3};
     或 ArrayList myList = new ArrayList();
    这些都是合法的,而直接使用 int[] array;是不行的。

    #2. Array只能存储同构的对象,而ArrayList可以存储异构的对象。
    同构的对象是指类型相同的对象,若声明为int[]的数组就只能存放整形数据,string[]只能存放字符型数据,但声明为object[]的数组除外。
    而ArrayList可以存放任何不同类型的数据(因为它里面存放的都是被装箱了的Object型对象,实际上ArrayList内部就是使用"object[] _items;"这样一个私有字段来封装对象的)

    #3 在CLR托管对中的存放方式
    Array是始终是连续存放的,而ArrayList的存放不一定连续。

    #4 初始化大小
    Array对象的初始化必须只定指定大小,且创建后的数组大小是固定的,
    而ArrayList的大小可以动态指定,其大小可以在初始化时指定,也可以不指定,也就是说该对象的空间可以任意增加。

    #5 Array不能够随意添加和删除其中的项,而ArrayList可以在任意位置插入和删除项。

    [Array和ArrayList的相似点]

    #1 都具有索引(index),即可以通过index来直接获取和修改任意项。
    #2 他们所创建的对象都放在托管堆中。
    #3 都能够对自身进行枚举(因为都实现了IEnumerable接口)。

    [ArrayList的一些特性]

    #1 在研究ArrayList我发现了一个有趣的现象,ArrayList的capacity属性值会随ArrayList中的项的实际大小来发生改变,
    如下代码:

    public static void Main(string[] args)
            
    {
                ArrayList myList 
    = new ArrayList(2);
                Console.WriteLine(
    "initial capacity:" + myList.Capacity);

                
    int size = 2;
                
    for (int i = 0; i < size;i++ )
                
    {
                    myList.Add(i);
                }

                Console.WriteLine(
    "current capacity:" + myList.Capacity);
                
                Console.ReadLine();
            }

    当size为2时,输出结果中的"current capacity"为2,
    当size为3或4时,"current capacity"为4,
    当size为5~8时,"current capacity"为8,
    当size为9~16时,"current capacity"为16,
    ...
    通过实验可以得出一个结论,那就是每当ArrayList中的实际存在的对象数(ArrayList.Count)超过了自身的Capacity阀值,那么该阀值会自动翻倍。
    (也可以改变myList生成时的初始值来试试,但结论是一样的)

    #2 通过ArrayList类的TrimToResize()方法可以将ArrayList实例中的空项去除以压缩体积。
    如以下代码:

    public static void Main(string[] args)
            
    {
                ArrayList myList 
    = new ArrayList(5);

                
    for (int i = 0; i < 3; i++)
                
    {
                    myList.Add(i);
                }

                Console.WriteLine(
    "actual capacity:" + myList.Capacity);
                myList.TrimToSize();
                Console.WriteLine(
    "compressed capacity:" + myList.Capacity);
                
                Console.ReadLine();
            }

    输出:
    actual capacity:5
    compressed capacity:3

    #3 在C#2.0中,建议大家尽量使用范型版的ArrayList,即System.Collection.Generics命名空间下的List<T>,
    这样不但保证了类型安全,而且由于没有了装箱和拆箱的过程,从而提高了对象处理的效率。

     

    展开全文
  • java中Array和ArrayList区别

    万次阅读 2018-09-16 10:14:29
    java中Array和ArrayList区别 1)精辟阐述: 可以将 ArrayList想象成一种“会自动扩增容量的Array”。 2)Array([]):最高效;但是其容量固定且无法动态改变;  ArrayList: 容量可动态增长;但牺牲效率; 3)...

    java中Array和ArrayList区别

    1)精辟阐述:
    可以将 ArrayList想象成一种“会自动扩增容量的Array”。

    2)Array([]):最高效;但是其容量固定且无法动态改变;
         ArrayList:  容量可动态增长;但牺牲效率;

    3)建议:
    基于效率和类型检验,应尽可能使用Array无法确定数组大小时才使用ArrayList
    不过当你试着解决更一般化的问题时,Array的功能就可能过于受限。

    4)Java中一切皆对象,Array也是对象。不论你所使用得Array型别为何,

    Array名称本身实际上是个reference,指向heap之内得某个实际对象。

    这个对象可经由“Array初始化语法”被自动产生,也可以以new表达式手动产生。

    5)Array可做为函数返回值,因为它本身是对象的reference;

    6)对象数组与基本类型数组在运用上几乎一模一样,唯一差别在于,前者持有得是reference,后者直接持有基本型别之值;
    例如:
    string [] staff=new string[100];
    int [] num=new int[10];
    6)对数组的一些基本操作,像排序、搜索与比较等是很常见的。因此在Java中提供了Arrays类协助这几个操作:1.sort(),2.binarySearch(),equals(),3.fill(),4.asList().
    不过Arrays类没有提供删除方法,而ArrayList中有remove()方法,不知道是否是不需要在Array中做删除等操作的原因(因为此时应该使用链表)。

    1.int[] b = { 1, 3, 2, 5, 4 };
            Arrays.sort(b, 0, 4);
            // 使用sort方法对数组进行排序,并输出排序后的数组到控制台
            for (int i : b) {
                System.out.print(i + ",");
            }
     2.   int index = Arrays.binarySearch(b, 3);
            // 使用binarySearch方法,找到某个数值在数组中的下标,并输出到控制台
            System.out.println("元素3的下标是: " + index);

    3.// 自定义一个double类型的数组,数组长度为5
            // 使用fill方法对自定义的数组填充值,输出填充后的数组到控制台
            double[] array = new double[10];
            Arrays.fill(array, 5);
            for (double i : array) {
                System.out.println(i+",");
            }

    4.//Array和ArrayList的相互转换
            String[] array = new String[3];
            array[0] = "王利虎";
            array[1] = "张三";
            array[2] = "李四";
            List<String> list = Arrays.asList(array);
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }

    复制代码

    public class Test {  
        public static void main(String[] args) {  
            List<String> list=new ArrayList<String>();  
            list.add("王利虎");  
            list.add("张三");  
            list.add("李四");  
            int size=list.size();  
            String[] array = (String[])list.toArray(new String[size]);  
            for(int i=0;i<array.length;i++){  
                System.out.println(array[i]);  
            }  
        }  
    }  

    复制代码

    复制代码

    package test.test1;  
      
    import java.util.Arrays;  
    import java.util.List;  
      
    public class Test {  
        public static void main(String[] args) {  
            String[] array=new String[3];  
            array[0]="王利虎";  
            array[1]="张三";  
            array[2]="李四";  
            List<String> list=Arrays.asList(array);  
            for(int i=0;i<list.size();i++){  
                System.out.println(list.get(i));  
            }            
        }  
    }  

    复制代码

    展开全文
  • C# Array和ArrayList区别

    2012-12-19 23:34:29
    C# Array和ArrayList区别 收藏 一,C# array数组的用法范例: type[] typename=new type[size];  如int[] a=new int[2];string[] str=new string[5]; 实事上我们平常是用int[],string[]...的,此时我们已经创建...
  • ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1、 1)精辟阐述:可以将ArrayList想象成一种“会自动扩增容量的Array”。2)Array([]):最高效;但是其容量固定且无法...
  • java中Array和ArrayList区别1)精辟阐述:可以将ArrayList想象成一种“会自动扩增容量的Array”。2)Array([]):最高效;但是其容量固定且无法动态改变;ArrayList:容量可动态增长;但牺牲效率;3)建议:基于效率和...
  • 1)精辟阐述:可以将...3)建议:基于效率类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!不过当你试着解决更一般化的问题时,Array的功能就可能过于受限。4)Java中一切皆对象,Array也是...
  • java中Array和ArrayList区别 1)精辟阐述: 可以将ArrayList想象成一种“会自动扩增容量的Array ...depth_1-utm_source=distribute..
  • C# Array和ArrayList区别 收藏 一,C# array数组的用法范例: type[] typename=new type[size];  如int[] a=new int[2];string[] str=new string[5]; 实事上我们平常是用int[],string[]...的,此时我们已经创建一...
  • 一,C# array数组的用法范例:type[] typename=new type[size];如int[] a=new int[2];string[] str=new string[5];实事上我们平常是用int[],string[]...的,此时我们已经创建一个Array数组,只不过我们平常没有这种意识...
  • 1)精辟阐述:可以将...3)建议:基于效率类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!不过当你试着解决更一般化的问题时,Array的功能就可能过于受限。4)Java中一切皆对象,Array也是...
  • 请你讲讲数组(Array)列表(ArrayList)的区别?什么时候应该使用Array而不是ArrayListArrayList(以数组为底层的集合)可以算是Array的加强版,(对array有所取舍的加强)。 (1)Array可以包含基本类型对象...
  • 首先本质区别 array : 数组,他是本地的数据结构 arrayList: 他是java中的一个集合类,既然是类,那么就可以去创建他的对象,然后去使用他...arrayList: 他是集合,内部可以自动的进行扩容,所以说他比array更加...
  • C# Array和ArrayList区别

    2010-12-25 20:24:00
    一,C# array数组的用法范例: type[] typename=new type[size];  如int[] a=new int[2];string[] str=new string[5]; 实事上我们平常是用int[],string[]...的,此时我们已经创建一个Array数组,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 952
精华内容 380
关键字:

array和arraylist区别