C 陣列 ArrayList List區別

2022-02-14 10:04:13 字數 822 閱讀 1862

system.collenctions和system.collenctions.generic 中提供了很多列表、集合和陣列。例如:list集合,陣列int,string ......,dictory字典等等。但是這些列表、集合和陣列的執行緒都不是安全的,不能接受併發請求。

1.陣列

優點:陣列在記憶體中是連續儲存的、所以它的索引速度是非常快的、時間複雜度為o(1)、而且它的賦值/修改/獲取元素也是非常簡單的。

缺點:1、定義陣列的時候需要指定陣列的長度(過長會造成記憶體浪費、過短會導致程式異常system.indexoutofrangeexception:"索引超出陣列界限")

2、插入和刪除元素效率低、也比較麻煩。

在不清楚陣列長度的時候、就很尷尬了。 所以c#提供了arraylist了來處理這些問題...

2.arraylist

優點:1、arraylist大小會根據需要動態增加的陣列。

2、實現了ilist介面、可以方便的對資料進行新增、插入和刪除。

缺點:1、arraylist會把插入的資料都當做object型別來儲存、在運算元據的時候可能會因為型別不匹配而出現異常、它是非型別安全的物件。

2、由於儲存的是object型別、在使用的時候進行型別轉換、會造成裝箱拆箱、從而損耗效能。

裝箱:把值型別轉換成引用型別;

拆箱:把引用型別轉換成值型別。

3.list

優點:由於泛型list是強型別、編譯器會驗證型別安全。這樣就避免了型別的不安全、以及資料強制轉換導致裝箱拆箱損耗效能。

c 陣列 和 陣列指標

今天 乙個朋友 面試,面試題如下 int tmain int argc,tchar argv int ptr int a 1 printf d t d a 1 ptr 1 return 0 我覺得 指標 只要 掌握 兩方面資訊 就 沒什麼 可難的了.一是 指標變數 裡 存放的 位址 二是 指標變數 ...

C語言 陣列(字元陣列)

軟體中,文字處理比數字處理更重要,而處理文字時需要用到字串,所以掌握字串的知識很重要。字串一定有 0 結尾,只有以 0 結尾的字元陣列才能稱為字串。0 是字串的標誌,也是字串結束的標誌。一 字串的定義 char arr 10 char brr 5 不是字串,沒有 0 char crr 5 最後乙個元...

c 陣列,2維陣列

也就是區域性變數的一維陣列,在編譯的時候其維度必須是已知的,因此維度必須是乙個常量表示式。int a ok int a 4 int b a wrong!也就是用new 搞出來的,維度可以是乙個變數 int a 4 int b new int a ok!int a 這是個5行4列的陣列,不過實際c 沒...