Array和List的區別

2021-06-26 16:49:41 字數 553 閱讀 9241

array和list都屬於順序表。

因為list是乙個鍊錶,所以我需要從第乙個元素開始逐個next到所需索引的元素。這是乙個耗時的過程。

陣列必須要在初始化時分配固定的大小,比如說int a=new int[3];如果我們僅僅寫int a=new int;編譯器就會無情地給我們報錯。但是list由於空間不必連續,所以無須指定初始大小。

總結1: 當不確定大小時,最好使用list代替array。

總結2:當需要大量的查詢操作時,最好使用array。

總結3:當需要進行頻繁的插入,刪除操作時,最好使用list代替array。

原理:  array是一段連續的儲存結構

int i=new int[3]

i其實記錄的是陣列的首位址,而i[1]其實相當於在i的位址的基礎上加上1個整數的位址偏移,然後再取這塊位址中的值。

list則是不連續的儲存結構,list的每個節點都有著乙個next屬性,這個屬性則記錄著他的下乙個節點的位址。

也就是說當我們想找第100個節點的時候,他還是需要從第乙個節點,然後做99次next操作,才能找到list[99]節點。

python中list和array的區別

numpy.array可以專門表示二維或多維資料 b np.array a b array 1,2,3 4,5,6 7,8,9 總結兩點不同的地方 1.元素型別 list是python的基本資料型別,它的元素型別可以不同。如 1,2,a 3,4 array是numpy的一種資料型別,所包含的元素型別...

Array和List的異同

array和list的異同 array的建立格式是 型別 eg string array new string 5 可以在建立時限定長度,但在後面使用中不可以更改。直接賦值 不適用於二維陣列 引用賦值。只能選其一,且不能重複賦值。可以放基本型別資料和物件。list建立格式是 型別 泛型 eg lis...

Array和List的轉換

呼叫list的toarray 方法,可以直接規定引數陣列大小為1,如果不夠,方法將自動建立合適大小的陣列 listlist new arraylist list.add aaa list.add bbb string s list.toarray new string 1 for string ss...