Array和ArrayList的異同點

2021-08-09 02:36:07 字數 1063 閱讀 1524

相信陣列是大家在程式設計最常使用的,不論任何語言都存在陣列這樣的資料結構,由於c#語言是完全物件導向的,所以在c#中的陣列也是物件,

實際上就是array類的例項,array類的使用可以說是使用最頻繁的,只是大家在使用時都沒太在意,如在建立陣列int時實際上就建立了乙個array類物件的例項。

最近我仔細研究了一下c#中的array及arraylist類之間的異同,總結了以下幾點:

[array和arraylist的區別]

#1. array型別的變數在宣告的同時必須進行例項化(至少得初始化陣列的大小),而arraylist可以只是先宣告。

如:int array = new array[3];

或 int array = ;

或 arraylist mylist = new arraylist();

這些都是合法的,而直接使用 int array;是不行的。

#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介面)。

Array 和 ArrayList 的區別

array 即陣列,宣告方式可以如下 int array new int 3 int array new int 3 int array int array new int 定義乙個 array 時,必須指定陣列的資料型別及陣列長度,即陣列中存放的元素個數固定並且型別相同。arraylist 是動態...

Array和ArrayList的區別

araay可以包含基本型別和物件型別,arraylist只能包含物件型別 array的大小是固定的,arraylist的大小是動態的 arraylist可以算是array的加強版 提供了新的功能 新增全部 addall 刪除全部 removeall 返回迭代器 iteratorall 使用場景 如果...

Array和ArrayList的區別

array和arraylist的區別 1.array型別的變數在宣告的同時必須進行例項化 至少得初始化陣列的大小 而arraylist可以只是先宣告。2.array只能儲存同構的物件,而arraylist可以儲存異構的物件。同構的物件是指型別相同的物件,若宣告為int的陣列就只能存放整形資料,str...