Condividi tramite


SortedList.Add(Object, Object) Metodo

Definizione

Aggiunge a un oggetto SortedList un elemento con la chiave e il valore specificati.

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)

Parametri

key
Object

Chiave dell'elemento da aggiungere.

value
Object

Valore dell'elemento da aggiungere. Il valore può essere null.

Implementazioni

Eccezioni

key è null.

Un elemento con il parametro key specificato esiste già nell'oggetto SortedList.

-oppure-

SortedList è impostato per l'utilizzo dell'interfaccia IComparable e key non implementa l'interfaccia IComparable.

La classe SortedList è di sola lettura.

-oppure-

Le dimensioni dell'oggetto SortedList sono fisse.

La memoria disponibile non è sufficiente per aggiungere l'elemento all'oggetto SortedList.

L'operatore di confronto genera un'eccezione.

Esempio

Nell'esempio di codice seguente viene illustrato come aggiungere elementi a un SortedList oggetto.

#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

Commenti

Il punto di inserimento viene determinato in base al comparer selezionato, in modo esplicito o per impostazione predefinita, quando l'oggetto SortedList è stato creato.

Se Count è già uguale Capacity, la capacità dell'oggetto SortedList viene aumentata riassegnando automaticamente la matrice interna e gli elementi esistenti vengono copiati nella nuova matrice prima dell'aggiunta del nuovo elemento.

È anche possibile usare la Item[] proprietà per aggiungere nuovi elementi impostando il valore di una chiave che non esiste nell'oggetto SortedList , ad esempio myCollection["myNonexistentKey"] = myValue. Tuttavia, se la chiave specificata esiste già nell'impostazione SortedList, impostando la proprietà sovrascrive il Item[] valore precedente. Al contrario, il Add metodo non modifica gli elementi esistenti.

Gli elementi di un SortedList oggetto vengono ordinati in base alle chiavi in base a un'implementazione specifica IComparer specificata quando SortedList viene creato o in base all'implementazione IComparable fornita dalle chiavi stesse.

Una chiave non può essere null, ma un valore può essere.

Questo metodo è un'operazione O(n) per i dati non autorizzati, dove n è Count. Si tratta di un'operazione O(log n) se il nuovo elemento viene aggiunto alla fine dell'elenco. Se l'inserimento causa un ridimensionamento, l'operazione è O(n).

Si applica a

Vedi anche