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

Im folgenden Codebeispiel wird gezeigt, wie einem SortedList Objekt Elemente hinzugefügt 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 SortedList Objekts explizit oder standardmäßig ausgewählten Vergleichszeichen bestimmt.

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

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

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

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

Diese Methode ist ein O(n) Vorgang für unsortierte Daten, wobei n ist Count. Es handelt sich um einen O(log n) Vorgang, wenn das neue Element am Ende der Liste hinzugefügt wird. Wenn das Einfügen eine Größenänderung bewirkt, lautet O(n)der Vorgang .

Gilt für:

Weitere Informationen