C#介紹ArrayList和List的區別(第一篇內容博客 )


說到這兩個的差別我們想到的首先就應該是這兩個集合的性質有相對較大的區別,List就像是一個火車,ArrayList就像是自己家的小轎車,List對於裝載的事物有限制一開始必須在泛型定義好的事物,就是拉貨物的火車車廂中都幾乎是貨物,

而小汽車是自家的你想拉啥就拉啥,ArrayList就充當小轎車的角色,但是其相對速度 對比火車較差,

在編程中,我們對於ArrayList盡量能不用就不用,由於他什么東西都放,所以往往會導致,你無法用特定的類型進行接收,因為其取出時object類型需要強轉為你需要的類型

同時ArrayList和List主要差別為裝箱和拆箱的問題

ArrayList:需要首先將類型轉變為Object也就是裝箱的問題,然后再將Object轉換為其所對應的類型也就是拆箱的操作

List:因為泛型中指定了類型所以其不需要進行裝箱拆箱操作,效率也就相對提升

List和ArrayList的區別
1.list性能較高,ArrayList性能較低
2.list一次存儲中只能存儲泛型中的類型,ArrayList在一次存儲中任何類型的數據
3.List中獲取值取出的是泛型中發的類型,因為ArrayList對元素沒有限制,系統會將中獲取的值當object類型的數據,
如果想獲取到其中的內容需要進行
4. List在使用時候需要導入的using指令為using System.Collections.Generic;
 ArrayList在使用的時候需要導入的using指令為using System.Collections;
5.List屬於泛型集合 ArrayList屬於非泛型集合

例子如下:

ArrayList:

            /*一:ArrayList集合*/

            //1.首先創建對象
            ArrayList arr=new ArrayList();
            //使用Add()方法添加元素,對元素類型沒有限制
            arr.Add (12);
            arr.Add ("1234");
            arr.Add (12.7f);
            //使用  /下標/  來獲取指定位置的元素
            Console.WriteLine ("arr[0]="+arr[0]);
            //獲取當前數組的數量
            int count=arr.Count;
            //使用insert()方法向指定下標位置插入元素
            arr.Insert(1,"老張");
            Console.WriteLine ("arr[1]="+arr[1]);
            //使用Remove()方法從數組中刪除指定元素
            arr.Remove("老張");
            Console.WriteLine ("arr[1]="+arr[1]);
            //使用RemoveAt()方法,將指定下標位置的元素刪除
            arr.RemoveAt(0);
            Log (arr);
            //判斷指定元素中是否存在當前數組中
            bool b=arr.Contains("老王");
            if (b)
            {
                Console.WriteLine ("老王在數組中");
            }
            else
            {
                Console.WriteLine ("老王不在數組中!!!!");
            }

  

 

List:

            //1.首先創建對象
            List<string> list=new List<string>();
            //使用Add()方法添加元素,只能添加字符串類型的元素
            list.Add("123");
            list.Add ("778");

            //實用[下標]來獲取指定位置的元素
            Console.WriteLine ("arr[0]="+arr[0]);
            //獲取當前數組中的元素的數目
            int count1=arr.Count;
            //使用insert()方法向指定下標位置插入元素
            arr.Insert(1,"老張");
            Console.WriteLine ("arr[1]="+arr[1]);
            //使用Remove()方法從數組中刪除指定元素
            arr.Remove("老張");
            //使用RemoveAr()方法刪除指定下標位置的元素
            list.RemoveAt(0);
            Console.WriteLine (list[0]);
            //Contains()判斷指定元素是否存在在當前數組中
            bool b1=list.Contains("老王");
            if (b1)
            {
                Console.WriteLine ("老王在數組中!!!!");
            }
            else
            {
                Console.WriteLine ("老王不在數組中!!!!");
            }
            //進行集合的清空
            list.Clear ();
            Console.WriteLine (list.Count);            

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM