SortedList.Add(Object, Object) Yöntem

Tanım

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.

SortedList salt okunurdur.

-veya-

sabit SortedList bir boyuta sahiptir.

öğ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).

Şunlara uygulanır

Ayrıca bkz.