C# ArrayList - TrimToSize() 方法
C# ArrayList TrimToSize() 方法用于将容量设置为 ArrayList 中实际元素的数量。
如果没有新元素添加到集合中,此方法可以减少集合的内存开销。
此方法的复杂度为 O(n),其中 n 是元素的数量。
语法
以下是 C# ArrayList TrimToSize() 方法的语法 -
public virtual void TrimToSize();
参数
此方法不接受任何参数。
返回值
此方法不返回任何值。
示例 1:演示 TrimToSize() 方法的使用
以下是 TrimToSize() 方法的基本示例,用于演示如何使用此方法 -
using System; using System.Collections; class Example { // Main method public static void Main() { // 创建并初始化新的 ArrayList ArrayList mylist = new ArrayList { "Hi", "tutorialspoint", "India", "Learn", "programming", "here" }; // 修剪前 ArrayList 的大小 Console.WriteLine("Before trimming the capacity is: {0}", mylist.Capacity); mylist.TrimToSize(); // 修剪后 ArrayList 的大小 Console.WriteLine("After trimming the capacity is: {0}", mylist.Capacity); } }
输出
以下是输出 -
Before trimming the capacity is: 8 After trimming the capacity is: 6
示例 2:调整 ArrayList 的大小
在此示例中,我们创建一个指定大小的 ArrayList。然后使用 TrimToSize() 方法将容量设置为 ArrayList 中元素的实际数量 -
using System; using System.Collections; class Program { static void Main() { // 创建具有初始容量的 ArrayList ArrayList myList = new ArrayList(10) { 1, 2, 3, 4, 5 }; Console.WriteLine($"Capacity before TrimToSize: {myList.Capacity}"); Console.WriteLine($"Count: {myList.Count}"); // 修剪 ArrayList 以适应实际元素数量 myList.TrimToSize(); Console.WriteLine($"Capacity after TrimToSize: {myList.Capacity}"); } }
输出
以下是输出 -
Capacity before TrimToSize: 10 Count: 5 Capacity after TrimToSize: 5
示例 3:删除元素后进行修剪
此示例展示了 TrimToSize() 方法在从 ArrayList 中删除元素后如何发挥作用 -
using System; using System.Collections; class Example { static void Main() { ArrayList list = new ArrayList() { 10, 20, 30, 40, 50, 60, 70, 80 }; Console.WriteLine($"Capacity before removing elements: {list.Capacity}"); Console.WriteLine($"Count: {list.Count}"); // 删除元素 list.RemoveRange(2, 4); Console.WriteLine($"Capacity before TrimToSize: {list.Capacity}"); Console.WriteLine($"Count after removal: {list.Count}"); // 修剪列表以容纳剩余元素 list.TrimToSize(); Console.WriteLine($"Capacity after TrimToSize: {list.Capacity}"); } }
输出
以下是输出 -
Capacity before removing elements: 8 Count: 8 Capacity before TrimToSize: 8 Count after removal: 4 Capacity after TrimToSize: 4
示例 4:动态 TrimToSize 用法
此示例展示了如何动态添加多个元素、删除一些元素,然后修剪 ArrayList 以释放未使用的内存 -
using System; using System.Collections; class Example { static void Main() { ArrayList numbers = new ArrayList(); for (int i = 1; i <= 8; i++) { numbers.Add(i); } Console.WriteLine($"Capacity before removing elements: {numbers.Capacity}"); Console.WriteLine($"Count before removing elements: {numbers.Count}"); // 删除一些元素 numbers.RemoveRange(5, 2); Console.WriteLine($"Capacity before TrimToSize: {numbers.Capacity}"); Console.WriteLine($"Count after removal: {numbers.Count}"); // 修剪 ArrayList 以释放未使用的内存 numbers.TrimToSize(); Console.WriteLine($"Capacity after TrimToSize: {numbers.Capacity}"); } }
输出
以下是输出 -
Capacity before removing elements: 8 Count before removing elements: 8 Capacity before TrimToSize: 8 Count after removal: 6 Capacity after TrimToSize: 6