Array和ArrayList之間的區別

2021-09-02 10:14:19 字數 967 閱讀 2404

1

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

2.array只能儲存同構的物件,而arraylist可以儲存異構的物件。

同構的物件是指型別相同的物件,若宣告為int的陣列就只能存放整形資料,

string

只能存放字元型資料,但宣告為object的陣列除外。

而arraylist可以存放任何不同型別的資料(因為它裡面存放的都是被裝箱了的object型物件,實際上arraylist內部就是使用

"object_items;

"這樣乙個私有欄位來封裝物件的)

3在clr託管對中的存放方式

array是始終是連續存放的,而arraylist的存放不一定連續。

4初始化大小

array物件的初始化必須只定指定大小,且建立後的陣列大小是固定的,

而arraylist的大小可以動態指定,其大小可以在初始化時指定,也可以不指定,也就是說該物件的空間可以任意增加。

5array不能夠隨意新增和刪除其中的項,而arraylist可以在任意位置插入和刪除項。

array和arraylist的相似點

1都具有索引(index),即可以通過index來直接獲取和修改任意項。

2他們所建立的物件都放在託管堆中。

3都能夠對自身進行列舉(因為都實現了ienumerable介面)。

arraylist的一些特性

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

通過arraylist類的trimtoresize()方法可以將arraylist例項中的空項去除以壓縮體積。

在c#2.0中,建議大家盡量使用范型版的arraylist,即system.collection.generics命名空間下的list,

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

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...