Sdílet prostřednictvím


SortedList.Add(Object, Object) Metoda

Definice

Přidá prvek se zadaným klíčem a hodnotou do objektu SortedList .

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)

Parametry

key
Object

Klíč elementu, který chcete přidat.

value
Object

Hodnota elementu, který chcete přidat Hodnota může být null.

Implementuje

Výjimky

key je null.

Prvek se zadaným key objektem již v objektu SortedList existuje.

-nebo-

Je SortedList nastaven na IComparable použití rozhraní a key neimplementuje IComparable rozhraní.

Je SortedList jen pro čtení.

-nebo-

SortedList pevnou velikost.

Pro přidání elementu do SortedListnení k dispozici dostatek paměti.

Porovnávací nástroj vyvolá výjimku.

Příklady

Následující příklad kódu ukazuje, jak přidat prvky do objektu SortedList .

#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

Poznámky

Kurzor je určen na základě porovnávače vybraného, a to buď explicitně, nebo ve výchozím nastavení, při vytvoření objektu SortedList .

Pokud Count se již rovná Capacity, kapacita objektu SortedList se zvýší automatickým přerozdělováním interního pole a existující prvky se zkopírují do nového pole před přidáním nového prvku.

Vlastnost můžete použít Item[] také k přidání nových prvků nastavením hodnoty klíče, který v objektu SortedList neexistuje (například myCollection["myNonexistentKey"] = myValue). Pokud však zadaný klíč již existuje v SortedList, nastavení Item[] vlastnosti přepíše starou hodnotu. Naproti tomu Add metoda neupravuje existující prvky.

Prvky objektu SortedList jsou seřazeny podle klíčů buď podle konkrétní IComparer implementace zadané při SortedList vytvoření, nebo podle IComparable implementace poskytované samotnými klíči.

Klíč nemůže být null, ale hodnota může být.

Tato metoda je operace O(n) pro neseřazená data, kde n je Count. Jedná se o O(log n) operaci, pokud je nový prvek přidán na konec seznamu. Pokud vložení způsobí změnu velikosti, operace je O(n).

Platí pro

Viz také