SortedList.Add(Object, Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í.
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)
.