當前位置:編程學習大全網 - 行動軟體 - Array和ArrayList之間的區別

Array和ArrayList之間的區別

? 1. Array類型的變量在聲明的同時必須進行實例化(至少得初始化數組的大小),而ArrayList可以只是先聲明。

? 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的壹些特性

? ArrayList的capacity屬性值會隨ArrayList中的項的實際大小來發生改變

? 通過ArrayList類的TrimToResize()方法可以將ArrayList實例中的空項去除以壓縮體積。

? 在C#2.0中,建議大家盡量使用範型版的ArrayList,即System.Collection.Generics命名空間下的List<T>,

? 這樣不但保證了類型安全,而且由於沒有了裝箱和拆箱的過程,從而提高了對象處理的效率。

  • 上一篇:紙張大小16開是多大怎麽設置
  • 下一篇:90後的風尚為話題的作文
  • copyright 2024編程學習大全網