陣列和arraylist的區別,陣列 Array 和列表 ArrayList 有什麼區別?什麼時候應該使用Array而不是ArrayList?

時間 2022-02-01 20:06:03

1樓:陝西it優就業

arraylist底層是變長陣列維護的,不需要定義其大小,如果長度不夠了就會自動擴充套件為原來長度的一倍;

陣列的大小在定義的時候已經是個固定的值,不會自動擴充套件,陣列的效率比集合的效率高,各有側重點。

具體如下:

一、 陣列

優點:在記憶體中時連續的,速度較快,操作簡單。

缺點:定義陣列時要定義其長度,不是很靈活,過長過短都會造成問題。不方便進行資料的新增、插入和移除。

例如:int i=new int[2];

i[0]=111;

i[1]=123;//賦值

i[1]=1234;//修改

二、集合arraylist

優點:名稱空間system.collections下的一部分。

大小是動態擴充與收縮的。在宣告arraylist物件時不需要指定它的長度。arraylist繼承了ilist介面,可以很方便的進行資料的新增、插入和移除.

缺點:當向集合插入不同型別的資料後(arraylist將資料當作object儲存),在進行資料處理時容易出現型別不匹配的錯誤,使用時需要進行型別轉換處理,存在裝箱與拆箱操作,造成效能大量損耗的現象。

例如:arraylist list = new arraylist();

list.add("aa");

list.add(11);

list[1] = 123;//修改

移除list.remove(123);

list.removeat(0);

2樓:匿名使用者

arraylist 長度可變 儲存的資料型別可變 陣列在宣告的時候要型別 和長度

陣列(array)和列表(arraylist)有什麼區別?什麼時候應該使用array而不是arraylist?

list與arraylist 區別

3樓:三娛夢生

list和arraylist的區別在於:

1、在程式語言中arraylist類是.net framework提供的用於資料儲存和檢索的專用類。list 類可以簡單視之為雙向連結序列,以線性列的方式管理物件集合。

list類是arraylist類的泛型等效類。

2、arraylist繼承了ilist介面,所以它可以很方便的進行資料的新增,插入和移除。list的大部分用法都與arraylist相似,list類也繼承了ilist介面。

3、在arraylist中可以插入不同型別的資料。arraylist會把所有插入其中的資料都當作為object型別來處理,這其中存在裝箱與拆箱的操作,會對系統造成效能上的損耗。而list需要宣告其資料的物件型別。

宣告後插入其他型別資料,ide就會報錯,且不能通過編譯。

4、在使用arraylist中的資料來處理問題的時候,很可能會報型別不匹配的錯誤,即arraylist不是型別安全的。而list已經宣告過其資料的物件型別,是型別安全的,避免了前面講的型別安全問題與裝箱拆箱的效能問題。

5、listarray就可以被構造。而list不能被構造,但可以為list建立一個引用。

陣列,list和arraylist的區別

4樓:育知同創教育

list是一個介面,而arraylist是一個類,它實現了list介面。

所以list不能被構造,list list=new list()這種寫法是錯誤的,而arraylist就可以被構造。

list list = new arraylist();這句建立了一個arraylist的物件後把向上轉型成了list。此時它是一個list物件了,有些arraylist有但是list沒有的屬性和方法,它就不能再用了。

而arraylist list=new arraylist();建立一物件則保留了arraylist的所有屬性。

陣列(array)和列表(arraylist)有什麼區別?什麼時候應該使用array而不是array

5樓:泉來福永棋

區別在於

arraylist

內部對array

進行了動態的管理,可以動態變化大小。資料數量不太會變化就用array,會動態變化就用

arraylist,但一般都是使用

list

,不建議

arraylist。

6樓:公西長征闞釵

下面列出了array和arraylist的不同點:

array可以包含基本型別和物件型別,arraylist只能包含物件型別。

array大小是固定的,arraylist的大小是動態變化的。

arraylist提供了更多的方法和特性,比如:addall(),removeall(),iterator()等等。

對於基本型別資料,集合使用自動裝箱來減少編碼工作量。但是,當處理固定大小的基本資料型別的時候,這種方式相對比較慢。

arraylist與陣列的詳細區別

arraylist 是一個佇列,記憶體大小不固定,可以採用add的方法往佇列後新增資料。陣列是一個固定記憶體大小的佇列,不能擴充。不知可不可以這麼理解,arraylist 就是把object陣列進行了包裝,提供了一些便於使用的方法,例如add get 等方法 1 根本不存在一個動態增長的容器供我們使...

ArrayList和LinkedList哪個迭代操作快

事實上肯定是linkedlist效率比較快,因為在內部是通過連結串列連結的,而arraylist則是直接存取比較快一些,因為內部用的是下標索引。以下是在我電腦進行五次測試的結果,你多測試測試,結果肯定是linkedlist比較快 因為你的 arraylist 存放元素大小是固定的,並且在事先已經指定...

python陣列和列表的區別,python的list和c的陣列有什麼區別

python沒有陣列 只有元組 tuple 和列表 list 元組一旦建立不可改變,例如 aa tuple 1,2,3 只能對元組中的元素進行索引aa 0 不能對其中的元組進行賦值aa 0 8 使用元組的好處在於對元組進行操作更為高效,適合存放一組常量 而上述的眾多不可以,使用列表list是可以的。...