List<T>在C#應用程序中是一種快捷、易於使用的泛型集合類型,使用泛型編程為編寫面向對象程序增加了極大的效率和靈活性,不會強行對值類型進行裝箱和拆箱,或對引用類型進行向下強制類型轉換。
補充說明:
在決定使用IList<T> 還是使用ArrayList類(兩者具有類似的功能)時,記住IList<T> 類在大多數情況下執行得更好並且是類型安全的。
如果對IList<T> 類的類型 T 使用引用類型,則兩個類的行為是完全相同的。但是,如果對類型 T 使用值類型,則需要考慮實現和裝箱問題。
“添加到 ArrayList 中的任何引用或值類型都將隱式地向上強制轉換為 Object。如果項是值類型,則必須在將其添加到列表中時進行裝箱操作,在檢索時進行取消裝箱操作。強制轉換以及裝箱和取消裝箱操作都會降低性能;在必須對大型集合進行循環訪問的情況下,裝箱和取消裝箱的影響非常明顯。”
一、List<T>的基本用法: 1. 創建List<T>類具體實例: 1.1、 創建一個普通的泛型集合類: 1 List<T> mList = new List<T>(); T為列表中元素類型,現在以string類型作為例子 1 List<string> mList = new List<string>(); 1.2、 以一個集合作為參數創建新的泛型集合List<T> 1 List<T> testList =new List<T> (IEnumerable<T> collection); 下面是一個具體的例子: 1 2 string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" }; List<string> testList = new List<string>(temArr); 2. 增加元素到List<T>: 2.1、 添加一個元素: 1 List. Add(T item) 示例: 1 testList.Add("John"); 2.2、 添加一組元素集合: 1 List. AddRange(IEnumerable<T> collection) 示例: 1 2 string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim", "Kuku", "Locu" }; testList.AddRange(temArr); 2.3、在指定位置添加一個元素: 1 Insert(int index, T item); 其中,index指定了要添加元素的位置,示例: 1 testList.Insert(1, "Hei"); 3. 泛型集合List<T>元素遍歷: 使用foreach可以輕松遍歷List<T>中的所有元素,示例: 1 2 3 foreach (string s in mList){ Console.WriteLine(s); }
4. 刪除List<T>中的元素: 4.1、 刪除單個元素: List. Remove(T item) item指定了要刪除元素的對象,示例: mList.Remove("Hunter"); 4.2、 刪除指定位置的元素: List.RemoveAt(int index); 其中,index指定了要刪除元素的索引值,示例: mList.RemoveAt(0); 4.3、 刪除多個元素: List.RemoveRange(int index, int count); index指定了刪除元素的起始位置,count指定了從起始位置開始需要刪除元素的個數,示例: mList.RemoveRange(3, 2); 5. 判斷某個元素是否在該List<T>中: List.Contains(T item) 該方法用於確定某元素是否在 List<(Of <(T>)>) 中,如果在 List<(Of <(T>)>) 中找到 item,則為 true,否則為 false,示例: if (mList.Contains("Hunter")){ Console.WriteLine("There is Hunter in the list"); }else{ mList.Add("Hunter"); Console.WriteLine("Add Hunter successfully."); } 6. 給List<T>里面元素排序: List.Sort () 該方法將集合類List<T>中的元素按照 默認的方式元素第一個字母升序排序。 mList.Sort(); 7. 給List<T>里面元素順序反轉: List.Reverse () 該方法可以與List. Sort ()配合使用,以達到想要的效果。 mList.Sort(); 8. 清空List<T>中的所有元素: List.Clear () 該方法將清空List<T>中的所有元素,示例: mList.Clear(); 9. 獲得List<T>中元素數目: List. Count () 該方法返回List<T>中元素個數的int類型值,示例: int count = mList.Count(); Console.WriteLine("The num of elements in the list: " +count);
