C# Array v.s List

  • 8130
  • 0
  • C#
  • 2019-03-20

Array 跟 List 差別到底是什麼??

這裡暫不講ArrayList 而只談論 Array 跟 List

引用http://sharecoder.blogspot.com/2012/10/arraylist.html 此篇所描述的

  1. Array使用連續記憶體空間,List【不需要】使用連續記憶體空間。
  2. Array輪循速度比較快,List輪循速度比較慢。
  3. Array無法新增或刪除其中的元素,List可以。

第三點Mark 先生跟我說其實不算最正確,因為硬要寫其實還是可以的

var mid = (start+end)/2;
array[mid] = xxx

其實從上方我們就可以知道Array 需要使用連續記憶體,因此你說那到底哪個比較好。

必須要看你的操作,依照操作的時間複雜度上,假設我們有100個資料,

我們指定要第88個資料,則array 可以直接指定 第88個

但list 卻必須要從第一個開始找,直到找到第88個才可以

這時我問大神說可是List 也有機率 是 O(1)啊?

大神跟我說:時間複雜度主要是以平均來看,因此他O(n)

 


參考資料

http://sharecoder.blogspot.com/2012/10/arraylist.html