SortedList.Add(Object, Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir nesneye belirtilen anahtar ve değere sahip bir SortedList öğe ekler.
public:
virtual void Add(System::Object ^ key, System::Object ^ value);
public virtual void Add (object key, object value);
public virtual void Add (object key, object? value);
abstract member Add : obj * obj -> unit
override this.Add : obj * obj -> unit
Public Overridable Sub Add (key As Object, value As Object)
Parametreler
- key
- Object
Eklenecek öğenin anahtarı.
- value
- Object
Eklenecek öğenin değeri. Değer olabilir null
.
Uygulamalar
Özel durumlar
key
, null
değeridir.
Belirtilen key
öğesine sahip bir öğe nesnesinde SortedList zaten var.
-veya-
SortedList arabirimini IComparable kullanacak şekilde ayarlanır ve key
arabirimini IComparable uygulamaz.
öğesine öğesini SortedListeklemek için yeterli kullanılabilir bellek yok.
Karşılaştırıcı bir özel durum oluşturur.
Örnekler
Aşağıdaki kod örneği, bir SortedList nesneye nasıl öğe ekleneceğini gösterir.
#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" );
// Displays the SortedList.
Console::WriteLine( "The SortedList contains the following:" );
PrintKeysAndValues( mySL );
}
/*
This code produces the following output.
The SortedList contains the following:
-KEY- -VALUE-
four: fox
one: The
three: brown
two: quick
*/
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" );
// Displays the SortedList.
Console.WriteLine( "The SortedList contains the following:" );
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.
The SortedList contains the following:
-KEY- -VALUE-
four: fox
one: The
three: brown
two: quick
*/
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")
' Displays the SortedList.
Console.WriteLine("The SortedList contains the following:")
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.
'
' The SortedList contains the following:
' -KEY- -VALUE-
' four: fox
' one: The
' three: brown
' two: quick
Açıklamalar
Ekleme noktası, nesne oluşturulduğunda açıkça veya varsayılan olarak SortedList seçilen karşılaştırıcıya göre belirlenir.
zaten eşitse CountCapacity, iç dizi otomatik olarak yeniden taşınarak nesnenin SortedList kapasitesi artırılır ve mevcut öğeler yeni öğe eklenmeden önce yeni diziye kopyalanır.
Özelliği, nesnesinde Item[] bulunmayan SortedList bir anahtarın değerini ayarlayarak yeni öğeler eklemek için de kullanabilirsiniz (örneğin, myCollection["myNonexistentKey"] = myValue
). Ancak, belirtilen anahtar içinde SortedListzaten varsa, özelliğini ayarlamak Item[] eski değerin üzerine yazar. Buna karşılık, Add yöntemi mevcut öğeleri değiştirmez.
Bir SortedList nesnenin öğeleri, anahtarlara göre oluşturulurken SortedList belirtilen belirli IComparer bir uygulamaya göre veya anahtarların IComparable kendisi tarafından sağlanan uygulamaya göre sıralanır.
Anahtar olamaz null
, ancak bir değer olabilir.
Bu yöntem sıralanmamış veriler için bir O(n)
işlemdir ve burada n
değeridir Count. Listenin sonuna yeni öğe eklenirse bu bir O(log n)
işlemdir. Ekleme yeniden boyutlandırmaya neden olursa işlem olur O(n)
.