C# ArrayList集合
生活随笔
收集整理的這篇文章主要介紹了
C# ArrayList集合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C#?ArrayList集合 集合
可以向數組那樣存儲多個數據,但是長度不固定。往其中存多少個都可以。 ? ? ArrayList:動態數組(不是一個數組,是具有數組的功能再克服了數組的缺點) ? ? ArrayList所在的命名空間:System.Collections ? ? 它是1個類,所以我們要使用的話,就必須要創建1個對象。 ? ? 元素的類型:object ? 就算看起來存儲滿了,其實它還會自動增長。 ArrayList的用法
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 //引入 ArrayList 所在的命名空間 6 using System.Collections; 7 8 namespace Test 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 //創建 ArrayList 數組 15 ArrayList array = new ArrayList(); 16 17 //用Add 方法往 ArrayList 添加數據 18 array.Add("ABC"); 19 array.Add(123); 20 //用Insert 方法,傳入下標和值的方式添加數據 21 array.Insert(2, "新插入的值"); 22 23 //修改 ArrayList 里的數據 24 array[1] = 456; 25 26 //用 RemoveAt 方法根據下標移除 ArrayList 里的數據 27 array.RemoveAt(0); 28 //用 RemoveAt 方法刪除數據,會刪除集合中第一個和傳入的數據相等的元素。 29 array.Remove("ABC"); 30 31 //遍歷 ArrayList里面的數據 32 foreach (var item in array) 33 { 34 Console.WriteLine(item); 35 } 36 37 } 38 } 39 }
? ? ?真正存儲數據的是1個object類型的數組。object[] _items ? ? ?在靜態構造函數中創建了1個0個長度的object數組。在實例構造函數中將0個長度的數組賦值給了_items字段。 ? ? ?所以 ?在創建完ArrayList對象以后,這個集合對象中的_items數組有0個長度。 ? ? ?當我們第一次往其中存儲數據的時候,會創建1個4個長度的數組被items字段指向。將值存儲到該數組中。 ? ? ?集合中存儲數據的是1個object數組。所以ArrayList中可以存儲任意類型的數據。會將其加到ArrayList集合中。 ? ? ?Add()方法 ? 將數據存儲到集合中,返回數據的下標。參數是1個object類型。所以我們可以給任意的1個數據。 ? ? ?AddRange() ?需要傳入1個ICollection對象。數組和ArrayList集合就是他的子類。可以傳入一個數組,也可以傳入一個ArrayList集合,如果是這樣,它會將數組/集合中的每一個元素,加到集合對象中去。 ArrayList集合的其他用法
Remove()方法 ?傳入一個數據 ?會刪除集合中第一個和傳入的數據相等的元素。 ? ? ? RemoveAt()方法 ?傳入下標,刪除指定下標的元素。 ? ? ? RemoveRange() ?從指定的下標開始刪除指定個數的元素。每刪除一個元素的時候,這個元素的后面的元素的下標會發生改變。并且Count屬性的值也會減小。 ? ? ? Clear() 方法 清空集合中的所有數據 ? ? ? Count()屬性可以得到集合中真實有效的元素的個數 ? ? ? Contains ()方法 ?判斷集合中是否包含指定的元素 ? ? ? GetRange() ?從1個大集合中得到一個小集合 ? ? ? IndexOf() 查找指定的元素在集合中第一次出現的下標,如果沒有返回-1. ? ? ? Insert() ? 在指定的下標插入元素 ? ? ? Reverse() ?翻轉集合中的元素 ? ? ? Sort() ? 升序排序集合中的元素。只適合于元素是數組類型的。 ? ? ? ToArray() ?將集合轉換成為1個數組 ? ? ? TrimToSize() ? 將集合中存儲數據的數組的多余的元素刪除。
可以向數組那樣存儲多個數據,但是長度不固定。往其中存多少個都可以。 ? ? ArrayList:動態數組(不是一個數組,是具有數組的功能再克服了數組的缺點) ? ? ArrayList所在的命名空間:System.Collections ? ? 它是1個類,所以我們要使用的話,就必須要創建1個對象。 ? ? 元素的類型:object ? 就算看起來存儲滿了,其實它還會自動增長。 ArrayList的用法
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 //引入 ArrayList 所在的命名空間 6 using System.Collections; 7 8 namespace Test 9 { 10 class Program 11 { 12 static void Main(string[] args) 13 { 14 //創建 ArrayList 數組 15 ArrayList array = new ArrayList(); 16 17 //用Add 方法往 ArrayList 添加數據 18 array.Add("ABC"); 19 array.Add(123); 20 //用Insert 方法,傳入下標和值的方式添加數據 21 array.Insert(2, "新插入的值"); 22 23 //修改 ArrayList 里的數據 24 array[1] = 456; 25 26 //用 RemoveAt 方法根據下標移除 ArrayList 里的數據 27 array.RemoveAt(0); 28 //用 RemoveAt 方法刪除數據,會刪除集合中第一個和傳入的數據相等的元素。 29 array.Remove("ABC"); 30 31 //遍歷 ArrayList里面的數據 32 foreach (var item in array) 33 { 34 Console.WriteLine(item); 35 } 36 37 } 38 } 39 }
?
ArrayList存儲數據的原理? ? ?真正存儲數據的是1個object類型的數組。object[] _items ? ? ?在靜態構造函數中創建了1個0個長度的object數組。在實例構造函數中將0個長度的數組賦值給了_items字段。 ? ? ?所以 ?在創建完ArrayList對象以后,這個集合對象中的_items數組有0個長度。 ? ? ?當我們第一次往其中存儲數據的時候,會創建1個4個長度的數組被items字段指向。將值存儲到該數組中。 ? ? ?集合中存儲數據的是1個object數組。所以ArrayList中可以存儲任意類型的數據。會將其加到ArrayList集合中。 ? ? ?Add()方法 ? 將數據存儲到集合中,返回數據的下標。參數是1個object類型。所以我們可以給任意的1個數據。 ? ? ?AddRange() ?需要傳入1個ICollection對象。數組和ArrayList集合就是他的子類。可以傳入一個數組,也可以傳入一個ArrayList集合,如果是這樣,它會將數組/集合中的每一個元素,加到集合對象中去。 ArrayList集合的其他用法
Remove()方法 ?傳入一個數據 ?會刪除集合中第一個和傳入的數據相等的元素。 ? ? ? RemoveAt()方法 ?傳入下標,刪除指定下標的元素。 ? ? ? RemoveRange() ?從指定的下標開始刪除指定個數的元素。每刪除一個元素的時候,這個元素的后面的元素的下標會發生改變。并且Count屬性的值也會減小。 ? ? ? Clear() 方法 清空集合中的所有數據 ? ? ? Count()屬性可以得到集合中真實有效的元素的個數 ? ? ? Contains ()方法 ?判斷集合中是否包含指定的元素 ? ? ? GetRange() ?從1個大集合中得到一個小集合 ? ? ? IndexOf() 查找指定的元素在集合中第一次出現的下標,如果沒有返回-1. ? ? ? Insert() ? 在指定的下標插入元素 ? ? ? Reverse() ?翻轉集合中的元素 ? ? ? Sort() ? 升序排序集合中的元素。只適合于元素是數組類型的。 ? ? ? ToArray() ?將集合轉換成為1個數組 ? ? ? TrimToSize() ? 將集合中存儲數據的數組的多余的元素刪除。
轉載于:https://www.cnblogs.com/chenweifeng/p/4756145.html
總結
以上是生活随笔為你收集整理的C# ArrayList集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Objective-C:随机的读取文件中
- 下一篇: uestc 250 windy数(数位d