Array和ArrayList的區別

2022-09-14 12:09:13 字數 988 閱讀 7517

array和arraylist的區別

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的異同點

最近研究了一下c 中的array及arraylist類之間的異同,總結了以下幾點 array和arraylist的區別 1.array型別的變數在宣告的同時必須進行例項化 至少得初始化陣列的大小 而arraylist可以只是先宣告。如 int array new array 3 或 int arra...