ArrayList 類和List 泛型類


ArrayList集合類在System.Colletions命名空間下,它其實是一個特殊的數組,它可以動態的添加和刪除元素,根據元素的改變自動決定它自身的大小,也可以靈活的插入元素等操作,使用起來要比一般的數組方便很多個人感覺,而且可以用來儲存任何引用和值類型,如下面舉個例子:

C#:

ArrayList arr = new ArrayList();

arr.Add(123);

arr.Add(567);

arr.Add("windows");

//ArrayList的默認索引為0

//我要在索引為1的位置插入一個元素

arr.Insert("XP");

arr.Remove(567) //移除元素567

 

下面是ArrayList類的一些常用屬性和方法:

1.常用屬性

Count獲取數組的實際元素個數。

Item 獲取和設置指定索引處元素,這個屬性在VB.NET使用,在C#中時用[]代替。

2.常用方法

Add方法:將某一元素添加到動態數組的尾部

Remove方法:從動態數組中移除指定元素。

RemoveAt方法:從動態數組中移除指定索引處元素。

Clear方法:刪除所有元素。

IndexOf方法:在動態數組中查找某個元素的索引。

Insert方法:將元素插入指定索引處。

Reverse方法:反轉元素排序。

Sort方法:對元素進行排序。

ToArray方法:將動態數組中的所有元素復制到新數組中。

Contains方法:確定某個元素是否存在。

ArrayList雖然使用很方便靈活,但是添加給它的任何引用類型和值類型都將隱式的被轉換為Object(即裝箱操作),而在使用元素時要進行拆箱操作,否則會出現編譯錯誤的情況,這樣很麻煩,所以就有另外一個和它比較相似的類,List<T>泛型類,List<T>泛型類位於System.Colletions.Generit下,List<T>泛型比ArrayList方便之處就是它避免了重復裝箱拆箱的操作,當它聲明時將強制性的指定一個非Object類型,相對能較好的保證代碼的安全性,它的使用和ArrayList類似。

C#:

List<int> a = new List<int>();

a.Add(1);

a.Add(2);

a.Add(3);

ArrayList 類和List<T>泛型類的區別 

 

•List<T>類是 ArrayList 類的泛型等效類

 

•List<T>類的類型 T 使用引用類型,則兩個類的行為是完全相同的

 

•如果對類型 T 使用值類型,則編譯器將特別針對該值類型生成 List<T>類的實現。 這意味着不必對 List<T>對象的列表元素進行裝箱就可以使用該元素,並且在創建大約 500 個列表元素之后,不對列表元素裝箱所節省的內存將大於生成該類實現所使用的內存。

 


免責聲明!

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



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