1.ArrayList
ArrayList類似於數組,有人也稱它為數組列表。ArrayList可以動態維護,而數組的容量是固定的。
它的索引會根據程序的擴展而重新進行分配和調整。和數組類似,它所存儲的數據稱為元素,它所保存的元素數就是它的容量。默認初始容量為0,在使用它時,需引入命名空間System.Connections;以下代碼可以定義一個ArrayList:
using System.Collections;
//創建容量為0的ArrayList對象
ArrayList myList = new ArrayList();
//創建容量為5的ArrayList對象
ArrayList myList = new ArrayList();
//獲取對象中實際包含的元素數
int num = myList.Count();
ArrayList通過Add()方法添加元素,其方法返回一個Int類型的值,這個值代表所添加的元素在集合中的索引。
參數:如果向ArrayList中添加的元素是值類型,那麼這些元素就會自動裝箱處理轉換為Object引用類型,然後保存,所以ArrayList中的所有元素都是對象的引用。
刪除ArrayList中的元素有三種方法,分別為:
對象名.RomoveAt(int index);
對象名.Romove(Object value);
對象名.Clear();(這種方法會將集合中的所有元素刪除,俗稱"清空"~~~)
2.HashTable
C# /提供了一種稱為HashTable的數據結構,通常稱為哈希表,有的人稱它為"字典".HashTable的數據是通過鍵(Key)和值(Value)來組織的,同ArrayList一樣,它也屬於System.Collections命名空間中,它所存放的每個元素都是鍵/值對.以下為HashTable的常用方法和屬性:
屬性名稱:Count 說明:獲取包含在HashTable中鍵/值對的數目
屬性名稱:Keys 說明:獲取包含在HashTable中鍵的集合
屬性名稱:Values 說明:獲取包含在HashTable中值的集合
方法名稱:Add(Object key,Object Value)說明:將帶有指定鍵和值的元素添加到HashTable中
方法名稱:Remove(Object Key)說明:從HashTable中移除帶有特定鍵的元素
方法名稱:Clear() 說明:從HashTable中移除所有元素
和ArrayList不同,訪問HashTable元素時可以直接通過鍵名來獲取具體值,同樣,由於值類型是Object.所以當得到一個值時也需要通過類型轉換得到指定類型的對象.
3.泛型集合:List
在介紹泛型集合前,我們有必要來了解了解什麼是泛型:
泛型是C#2.0中的一個新特性。泛型引入了一個新概念:類型參數。通過使用類型參數(T),減少了運行時強制轉換成裝箱操作的風險。通過泛型集合可以最大限度的重用代碼、保護類型的安全及提高性能。
定義一個List
List
List
不用點:List
相同點:通過索引訪問集合中的元素,添加、刪除元素方法相同
4.泛型集合Dictionary
它具有泛型的全部特性,編譯時檢查類型約束,獲取元素時無需類型轉換,並且它存儲數據的方式和HashTable類似。也是通過Key/Value對元素保存的。定義語法為:
Dictionary
Dictionary
在這個集合中,Key類型是string類型,Value是SE類型。下面我們把Dictionary
不同點:Dictionary
相同點:通過Key獲取Value,添加、刪除、遍歷元素方法相同