Freigeben über


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 ausgewählten Vergleich bestimmt, entweder explizit oder standardmäßig, wenn das SortedList Objekt erstellt wurde.

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 auch die Item[] -Eigenschaft 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 im SortedListvorhanden ist, überschreibt das Festlegen der Item[] -Eigenschaft den alten Wert. Im Gegensatz dazu ändert die Add -Methode keine vorhandenen Elemente.

Die Elemente eines SortedList Objekts werden nach den Schlüsseln entweder nach einer bestimmten IComparer Implementierung sortiert, die beim Erstellen von SortedList angegeben wird, 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 die Einfügung zu einer Größenänderung führt, lautet O(n)der Vorgang .

Gilt für:

Weitere Informationen