SortedList.Add(Object, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Agrega un elemento con la clave y el valor especificados a un objeto 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)
Parámetros
- key
- Object
Clave del elemento que se va a agregar.
- value
- Object
Valor del elemento que se va a agregar. El valor puede ser null
.
Implementaciones
Excepciones
key
es null
.
Ya existe un elemento con el parámetro key
especificado en el objeto SortedList.
o bien
Se establece SortedList para utilizar la interfaz IComparable y key
no implementa la interfaz IComparable.
No hay suficiente memoria disponible para agregar el elemento al objeto SortedList.
El comparador produce una excepción.
Ejemplos
En el ejemplo de código siguiente se muestra cómo agregar elementos a un SortedList objeto .
#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
Comentarios
El punto de inserción se determina en función del comparador seleccionado, ya sea explícita o de forma predeterminada, cuando se creó el SortedList objeto.
Si Count ya es Capacityigual a , la capacidad del SortedList objeto aumenta mediante la reasignación automática de la matriz interna y los elementos existentes se copian en la nueva matriz antes de agregar el nuevo elemento.
También puede usar la Item[] propiedad para agregar nuevos elementos estableciendo el valor de una clave que no existe en el SortedList objeto (por ejemplo, myCollection["myNonexistentKey"] = myValue
). Sin embargo, si la clave especificada ya existe en SortedList, al establecer la Item[] propiedad se sobrescribe el valor anterior. En cambio, el Add método no modifica los elementos existentes.
Los elementos de un SortedList objeto se ordenan por las claves según una implementación específica especificada IComparer cuando SortedList se crea o según la IComparable implementación proporcionada por las propias claves.
Una clave no puede ser null
, pero un valor puede ser .
Este método es una O(n)
operación para datos no ordenados, donde n
es Count. Es una O(log n)
operación si se agrega el nuevo elemento al final de la lista. Si la inserción provoca un cambio de tamaño, la operación es O(n)
.