List的clear()方法和removeAll()方法 的區別
阿新 • • 發佈:2019-01-25
示例程式碼
- using System;
- using System.Collections.Generic;
- namespace ListClearExp
- {
- class Program
- {
- staticvoid Main(string[] args)
- {
- List<int> intList = new List<int>();
- Console.WriteLine("1. 初始化列表intList:");
-
Console.WriteLine("intList.Capacity="
- Console.WriteLine("intList.Count=" + intList.Count+"\n");
- Console.WriteLine("2. 向intList列表新增元素:");
- for (int i = 1; i <= 5; i++)
- {
- intList.Add(i);
-
Console.WriteLine("第"+ i + "個元素為:" + i);
- }
- Console.WriteLine("intList.Capacity=" + intList.Capacity);
- Console.WriteLine("intList.Count=" + intList.Count+"\n");
- Console.WriteLine("3. 對intList列表進行Clear操作:");
- intList.Clear();
-
foreach (int i in intList)
- {
- Console.WriteLine(i);
- }
- Console.WriteLine("intList.Capacity=" + intList.Capacity);
- Console.WriteLine("intList.Count=" + intList.Count + "\n");
- Console.WriteLine("4. 重新初始化intList列表並新增元素:");
- intList = new List<int>();
- for (int i = 1; i <= 5; i++)
- {
- intList.Add(i);
- Console.WriteLine("第" + i + "個元素為:" + i);
- }
- Console.WriteLine("intList.Capacity=" + intList.Capacity);
- Console.WriteLine("intList.Count=" + intList.Count + "\n");
- Console.WriteLine("5. 對intList列表進行RemoveAll操作:");
- intList.RemoveAll(it => true);
- foreach (int i in intList)
- {
- Console.WriteLine(i);
- }
- Console.WriteLine("intList.Capacity=" + intList.Capacity);
- Console.WriteLine("intList.Count=" + intList.Count);
- }
- }
- }
示例程式碼具體操作簡介
1.初始化列表intList,輸出其Capacity及Count值;
2.向intList列表新增元素並輸出,同時輸出其Capacity及Count值;
3.對intList列表進行Clear操作,同時輸出Clear後的列表元素(很明顯,什麼也不輸出)及Capacity和Count值;
4.重新初始化intList列表並新增元素(與步驟2增加相同元素),同時輸出其Capacity及Count值;
5.對intList列表進行RemoveAll操作(條件為it => true,相當於刪除所有元素),同時輸出RemoveAll操作後的列表元素(很明顯,什麼也不輸出)及其Capacity和Count值。
程式執行結果
結果分析
執行List的Clear方法和RemoveAll方法,List將清除指定元素,同時修改Count屬性值,而Capacity屬性值保持不變。
Clear方法和RemoveAll方法的區別是:Clear方法會清空所有元素,RemoveAll方法會清空滿足指定條件的元素,當將條件設定為恆成立時,也會刪除所有元素。
下面給出的程式碼刪除了intList列表中元素為偶數的項。
- using System;
- using System.Collections.Generic;
- namespace ListClearExp
- {
- class Program
- {
- staticvoid Main(string[] args)
- {
- List<int> intList = new List<int>();
- for (int i = 1; i <= 5; i++)
- {
- intList.Add(i);
- Console.WriteLine("第" + i + "個元素為:" + i);
- }
- intList.RemoveAll(it => it % 2 == 0);
- foreach (int i in intList)
- {
- Console.WriteLine(i);
- }
- }
- }
- }