標籤:indexof style arraylist tps 元素 only nbsp asp contain
一、引言
一般的Array,底層是數組實現的,對於資料的尋找和修改十分高效。但是有2個大的缺點,其一為增刪低效,其二為數組長度時固定的,無法動態增加長度。
ArrayList類相當於一種進階的動態數組,是Array類的升級版本。與一般的Array相比,ArrayList主要可以動態增加數組的長度。儘管實現了資料增刪,但是由於底層還是數組,效率還是不高。
二、函數
屬性:
名稱 |
說明 |
Capacity |
擷取或設定 ArrayList 可包含的元素數。 |
Count |
擷取 ArrayList 中實際包含的元素數。 |
IsFixedSize |
擷取一個值,該值指示 ArrayList 是否具有固定大小。 |
IsReadOnly |
擷取一個值,該值指示 ArrayList 是否為唯讀。 |
IsSynchronized |
擷取一個值,該值指示是否同步對 ArrayList 的訪問(安全執行緒)。 |
Item[Int32] |
擷取或設定指定索引處的元素。 |
SyncRoot |
擷取可用於同步對 ArrayList 的訪問的對象。 |
方法:
名稱
|
描述 |
Add(Object) |
將對象添加到 ArrayList 的結尾處。 |
Clear() |
從 ArrayList 中移除所有元素。 |
Clone() |
建立 ArrayList 的淺表副本。 |
Contains(Object) |
確定某元素是否在 ArrayList 中。 |
CopyTo(Array) |
從目標數組的開頭開始,將整個 ArrayList 複製到相容的一維 Array。 |
IndexOf(Object) |
搜尋指定 Object 並返回整個內的第一個匹配項的從零開始索引 ArrayList。 |
Insert(Int32,?Object) |
將元素插入 ArrayList 的指定索引處。 |
Remove(Object) |
從 ArrayList 中移除特定對象的第一個匹配項。 |
RemoveAt(Int32) |
移除 ArrayList 的指定索引處的元素。 |
Reverse() |
將整個 ArrayList 中元素的順序反轉。 |
SetRange(Int32,?ICollection) |
複製 ArrayList 中一個子集合的元素。 |
Sort() |
對整個 ArrayList 中的元素進行排序。 |
三、總結
與數組的比較:
(1)數組的容量是固定的,而ArrayList的容量可以根據需要自動擴充
(2)ArrayList提供添加,刪除,插入某一範圍元素的方法,但在數組中只能一次擷取或設定一個元素值。
(3)ArrayList提供將唯讀和固定大小封裝返回到集合的方法,而數組不提供
(4)ArrayList只是一維形式,而數組可以是多維的
C# 數組之ArrayList