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是可以的。...