C# |列表。三重排除法
原文:https://www . geeksforgeeks . org/c-sharp-list-trimexcess-method/
列表< T >。TrimExcess 方法用于将容量设置为列表< T >中元素的实际数量,如果该数量小于阈值。
语法:
public void TrimExcess ();
注:
- 如果没有新元素添加到集合中,此方法可用于最小化集合的内存开销。
- 要将列表重置为初始状态,请在调用 TrimExcess 方法之前调用 Clear 方法。
- 修剪空列表将列表的容量设置为默认容量。
- 然而,重新分配和复制一个大列表的成本可能相当大,所以如果列表超过 90%的容量,TrimExcess 方法什么也不做。这避免了为了相对较小的收益而导致较大的重新分配成本。
- 这个方法是一个 O(n)运算,其中 n 是 Count。
以下程序说明了列表< T >的使用。三阶段方法:
例 1:
// C# code to set the capacity to the
// actual number of elements in the List
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a List of strings
List<string> mylist = new List<string>();
// Inserting elements into List
mylist.Add("1");
mylist.Add("2");
mylist.Add("3");
mylist.Add("4");
mylist.Add("5");
// To display the capacity of list
Console.WriteLine(mylist.Capacity);
// To display number of elements in List
Console.WriteLine(mylist.Count);
// using TrimExcess method
mylist.TrimExcess();
// To display the capacity of list
Console.WriteLine(mylist.Capacity);
// To display number of elements in List
Console.WriteLine(mylist.Count);
}
}
输出:
8
5
5
5
例 2:
// C# code to set the capacity to the
// actual number of elements in the List
using System;
using System.Collections.Generic;
class GFG {
// Driver code
public static void Main()
{
// Creating a List of integers
List<int> mylist = new List<int>();
// Inserting elements into List
mylist.Add(45);
mylist.Add(78);
mylist.Add(32);
mylist.Add(231);
mylist.Add(123);
mylist.Add(76);
mylist.Add(726);
mylist.Add(716);
mylist.Add(876);
// To display the capacity of list
Console.WriteLine(mylist.Capacity);
// To display number of elements in List
Console.WriteLine(mylist.Count);
// using TrimExcess method
mylist.TrimExcess();
// To display the capacity of list
Console.WriteLine(mylist.Capacity);
// To display number of elements in List
Console.WriteLine(mylist.Count);
// using clear method
mylist.Clear();
// To display the capacity of list
Console.WriteLine(mylist.Capacity);
// To display number of elements in List
Console.WriteLine(mylist.Count);
}
}
输出:
16
9
9
9
9
0
参考:
版权属于:月萌API www.moonapi.com,转载请注明出处