SortedList.TrimToSize Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengatur kapasitas ke jumlah elemen aktual dalam objek SortedList .
public:
virtual void TrimToSize();
public virtual void TrimToSize ();
abstract member TrimToSize : unit -> unit
override this.TrimToSize : unit -> unit
Public Overridable Sub TrimToSize ()
Pengecualian
Contoh
Contoh kode berikut menunjukkan cara memangkas bagian objek yang SortedList tidak digunakan dan cara menghapus nilainya.
#using <system.dll>
using namespace System;
using namespace System::Collections;
void PrintKeysAndValues( SortedList^ myList )
{
Console::WriteLine( "\t-KEY-\t-VALUE-" );
for ( int i = 0; i < myList->Count; i++ )
{
Console::WriteLine( "\t{0}:\t{1}", myList->GetKey( i ), myList->GetByIndex( i ) );
}
Console::WriteLine();
}
int main()
{
// Creates and initializes a new SortedList.
SortedList^ mySL = gcnew SortedList;
mySL->Add( "one", "The" );
mySL->Add( "two", "quick" );
mySL->Add( "three", "brown" );
mySL->Add( "four", "fox" );
mySL->Add( "five", "jumps" );
// Displays the count, capacity and values of the SortedList.
Console::WriteLine( "Initially," );
Console::WriteLine( " Count : {0}", mySL->Count );
Console::WriteLine( " Capacity : {0}", mySL->Capacity );
Console::WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Trims the SortedList.
mySL->TrimToSize();
// Displays the count, capacity and values of the SortedList.
Console::WriteLine( "After TrimToSize," );
Console::WriteLine( " Count : {0}", mySL->Count );
Console::WriteLine( " Capacity : {0}", mySL->Capacity );
Console::WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Clears the SortedList.
mySL->Clear();
// Displays the count, capacity and values of the SortedList.
Console::WriteLine( "After Clear," );
Console::WriteLine( " Count : {0}", mySL->Count );
Console::WriteLine( " Capacity : {0}", mySL->Capacity );
Console::WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Trims the SortedList again.
mySL->TrimToSize();
// Displays the count, capacity and values of the SortedList.
Console::WriteLine( "After the second TrimToSize," );
Console::WriteLine( " Count : {0}", mySL->Count );
Console::WriteLine( " Capacity : {0}", mySL->Capacity );
Console::WriteLine( " Values:" );
PrintKeysAndValues( mySL );
}
/*
This code produces the following output.
Initially,
Count : 5
Capacity : 16
Values:
-KEY- -VALUE-
five: jumps
four: fox
one: The
three: brown
two: quick
After TrimToSize,
Count : 5
Capacity : 5
Values:
-KEY- -VALUE-
five: jumps
four: fox
one: The
three: brown
two: quick
After Clear,
Count : 0
Capacity : 16
Values:
-KEY- -VALUE-
After the second TrimToSize,
Count : 0
Capacity : 16
Values:
-KEY- -VALUE-
*/
using System;
using System.Collections;
public class SamplesSortedList {
public static void Main() {
// Creates and initializes a new SortedList.
SortedList mySL = new SortedList();
mySL.Add( "one", "The" );
mySL.Add( "two", "quick" );
mySL.Add( "three", "brown" );
mySL.Add( "four", "fox" );
mySL.Add( "five", "jumps" );
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "Initially," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Trims the SortedList.
mySL.TrimToSize();
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "After TrimToSize," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Clears the SortedList.
mySL.Clear();
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "After Clear," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Trims the SortedList again.
mySL.TrimToSize();
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "After the second TrimToSize," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
}
public static void PrintKeysAndValues( SortedList myList ) {
Console.WriteLine( "\t-KEY-\t-VALUE-" );
for ( int i = 0; i < myList.Count; i++ ) {
Console.WriteLine( "\t{0}:\t{1}", myList.GetKey(i), myList.GetByIndex(i) );
}
Console.WriteLine();
}
}
/*
This code produces the following output.
Initially,
Count : 5
Capacity : 16
Values:
-KEY- -VALUE-
five: jumps
four: fox
one: The
three: brown
two: quick
After TrimToSize,
Count : 5
Capacity : 5
Values:
-KEY- -VALUE-
five: jumps
four: fox
one: The
three: brown
two: quick
After Clear,
Count : 0
Capacity : 16
Values:
-KEY- -VALUE-
After the second TrimToSize,
Count : 0
Capacity : 16
Values:
-KEY- -VALUE-
*/
Imports System.Collections
Public Class SamplesSortedList
Public Shared Sub Main()
' Creates and initializes a new SortedList.
Dim mySL As New SortedList()
mySL.Add("one", "The")
mySL.Add("two", "quick")
mySL.Add("three", "brown")
mySL.Add("four", "fox")
mySL.Add("five", "jumps")
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("Initially,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
' Trims the SortedList.
mySL.TrimToSize()
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("After TrimToSize,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
' Clears the SortedList.
mySL.Clear()
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("After Clear,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
' Trims the SortedList again.
mySL.TrimToSize()
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("After the second TrimToSize,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
End Sub
Public Shared Sub PrintKeysAndValues(myList As SortedList)
Console.WriteLine(ControlChars.Tab & "-KEY-" & ControlChars.Tab & _
"-VALUE-")
Dim i As Integer
For i = 0 To myList.Count - 1
Console.WriteLine(ControlChars.Tab & "{0}:" & ControlChars.Tab & _
"{1}", myList.GetKey(i), myList.GetByIndex(i))
Next i
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' Initially,
' Count : 5
' Capacity : 16
' Values:
' -KEY- -VALUE-
' five: jumps
' four: fox
' one: The
' three: brown
' two: quick
'
' After TrimToSize,
' Count : 5
' Capacity : 5
' Values:
' -KEY- -VALUE-
' five: jumps
' four: fox
' one: The
' three: brown
' two: quick
'
' After Clear,
' Count : 0
' Capacity : 16
' Values:
' -KEY- -VALUE-
'
'
' After the second TrimToSize,
' Count : 0
' Capacity : 16
' Values:
' -KEY- -VALUE-
Keterangan
Metode ini dapat digunakan untuk meminimalkan overhead memori koleksi jika tidak ada elemen baru yang akan ditambahkan ke koleksi.
Untuk mengatur ulang SortedList objek ke status awalnya, panggil Clear metode sebelum memanggil TrimToSize. Pemangkasan kosong SortedList mengatur kapasitas SortedList ke kapasitas default.
Metode ini adalah O(n)
operasi, di mana n
adalah Count.