首頁  >  文章  >  後端開發  >  詳細介紹用C#描述資料結構3:ArrayList的圖文程式碼

詳細介紹用C#描述資料結構3:ArrayList的圖文程式碼

黄舟
黄舟原創
2017-03-17 17:19:491737瀏覽

   在上一節介紹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的圖文程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn