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

