SortedList.Add(Object, Object) Methode

Definition

Fügt einem SortedList-Objekt ein Element mit dem angegebenen Schlüssel und Wert hinzu.

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)

Parameter

key
Object

Der Schlüssel des hinzuzufügenden Elements.

value
Object

Der Wert des hinzuzufügenden Elements. Der Wert kann null sein.

Implementiert

Ausnahmen

key ist null.

Ein Element mit dem angegebenen key ist bereits im SortedList-Objekt vorhanden.

- oder - SortedList ist auf die Verwendung der IComparable-Schnittstelle festgelegt, und key implementiert die IComparable-Schnittstelle nicht.

SortedList ist schreibgeschützt.

- oder - SortedList hat eine feste Größe.

Es ist nicht genügend Arbeitsspeicher verfügbar, um das Element zu SortedList hinzuzufügen.

Der Vergleich löst eine Ausnahme aus.

Beispiele

Das folgende Codebeispiel zeigt, wie Einem -Objekt Elemente hinzugefügt SortedList werden.

#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

Hinweise

Die Einfügemarke wird basierend auf dem beim Erstellen des Objekts explizit oder standardmäßig ausgewählten SortedList Vergleich bestimmt.

Wenn bereits gleich ist, wird die Kapazität des -Objekts erhöht, indem das interne Array automatisch neu zugewiesen wird, und die vorhandenen Elemente werden in das neue Array kopiert, bevor das neue Element Count Capacity hinzugefügt SortedList wird.

Sie können die -Eigenschaft auch verwenden, um neue Elemente hinzuzufügen, indem Sie den Wert eines Schlüssels festlegen, der nicht im -Objekt vorhanden ist Item[] SortedList (z. B. myCollection["myNonexistentKey"] = myValue ). Wenn der angegebene Schlüssel jedoch bereits in vorhanden ist, überschreibt das Festlegen der -Eigenschaft SortedList Item[] den alten Wert. Im Gegensatz dazu ändert Add die -Methode keine vorhandenen Elemente.

Die Elemente eines -Objekts werden nach den Schlüsseln entweder nach einer bestimmten Implementierung sortiert, die beim Erstellen des angegeben wurde, oder gemäß der Implementierung, die von den SortedList IComparer SortedList IComparable Schlüsseln selbst bereitgestellt wird.

Ein Schlüssel kann nicht null sein, aber ein Wert kann sein.

Diese Methode ist ein O(n) Vorgang für unsortierte Daten, wobei n Count ist. Dies ist O(log n) ein Vorgang, wenn das neue Element am Ende der Liste hinzugefügt wird. Wenn das Einfügen eine Größenvergrößerung verursacht, ist der Vorgang O(n) .

Gilt für

Siehe auch