SortedList.Add(Object, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет элемент с указанным ключом и значением 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)
Параметры
- key
- Object
Ключ добавляемого элемента.
- value
- Object
Значение добавляемого элемента. Значение может быть null.
Реализации
Исключения
key равно null.
Элемент с указанным key уже существует в объекте SortedList .
–или–
Этот SortedList интерфейс IComparable используется и key не реализует IComparable интерфейс.
Недостаточно доступной памяти для добавления элемента в SortedListэлемент.
Средство сравнения создает исключение.
Примеры
В следующем примере кода показано, как добавить элементы в SortedList объект.
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
Комментарии
Точка вставки определяется на основе выбранного средства сравнения ( явно или по умолчанию) при SortedList создании объекта.
Если Count он уже равен Capacity, емкость SortedList объекта увеличивается путем автоматического перераспределения внутреннего массива, а существующие элементы копируются в новый массив перед добавлением нового элемента.
Можно также использовать Item[] свойство для добавления новых элементов, задав значение ключа, который не существует в SortedList объекте (например, myCollection["myNonexistentKey"] = myValue). Тем не менее, если указанный ключ уже существует в SortedList, задав Item[] свойство перезаписывает старое значение. Напротив, Add метод не изменяет существующие элементы.
Элементы SortedList объекта сортируются по ключам в соответствии с определенной IComparer реализацией, указанной при SortedList создании или в соответствии IComparable с реализацией, предоставленной самими ключами.
Ключ не может быть null, но значение может быть.
Этот метод является операцией O(n) для несортированных данных, где n находится Count.
O(log n) Это операция, если новый элемент добавляется в конце списка. Если вставка вызывает изменение размера, операция выполняется O(n).