класса.

public SortedList ()

public SortedList(IDictionaryCTKey, TValue> dictionary)

public SortedList(int capacity)

public SortedList(IComparer<TK> comparer)

В первой форме конструктора создается пустой список с выбираемой по умолчанию первоначальной емкостью. Во второй форме конструктора создается отсортированный список с указанным количеством элементов dictionary. В третьей форме конструктора с помощью параметра capacity задается емкость коллекции, создаваемой в виде отсортированного списка. Если размер списка заранее известен, то, указав емкость создаваемой коллекции, можно исключить изменение размера списка во время выполнения, что, как правило, требует дополнительных затрат вычислительных ресурсов. И в четвертой форме конструктора допускается указывать с помощью параметра comparer способ сравнения объектов, содержащихся в списке.

Емкость коллекции типа SortedListcTKey, TValue> увеличивается автоматически по мере необходимости, когда в список добавляются новые элементы. Если текущая емкость коллекции превышается, то она увеличивается. Преимущество указания емкости коллекции типа SortedListcTKey, TValue> при ее создании заключается в снижении или полном исключении издержек на изменение размера коллекции. Разумеется, указывать емкость коллекции целесообразно лишь в том случае, если заранее известно, сколько элементов требуется хранить в ней.

В классе SortedListcTKey, TValue> определяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Некоторые из наиболее часто используемых методов этого класса перечислены в табл. 25.19. Следует иметь в виду, что перечислитель, возвращаемый методом GetEnumerator (), служит для перечисления пар 'ключ-значение', хранящихся в отсортированном списке в виде объектов типа KeyValuePair.

Таблица 25.19. Наиболее часто используемые методы, определенные в классе SortedListCTKey, TValue>

Метод    Описание

public void    Add (TKey    key,    Добавляет в список пару “ключ-значение',

TValue value)    определяемую параметрами key и value.

Если ключ key уже находится в списке, то его значение не изменяется, и генерируется исключение ArgumentException public bool    ContainsKey (ТК key) Возвращает логическое значение true, если вы

зывающий список содержит объект key в каче-_стве ключа; а иначе логическое значение false

Метод

Описание

public bool

ContainsValue(TValue value)

public IEnumerator<KeyValuePair CTKey, TValue>> GetEnumerator() public int IndexOfKey (TKey key)

public int IndexOfValue(TValue value)

public bool Remove(TKey key)

public void RemoveAt(int index) public void TrimExcessO

Возвращает логическое значение true, если вызывающий список содержит значение value; в противном случае — логическое значение false

Возвращает перечислитель для вызывающего словаря

Возвращает индекс ключа key. Если искомый ключ не обнаружен в списке, возвращается значение -1

Возвращает индекс первого вхождения значения value в вызывающем списке. Если искомое значение не обнаружено в списке, возвращается значение -1 Удаляет из списка пару “ключ- значение” по указанному ключу key. При удачном исходе операции возвращается логическое значение true, а если ключ key отсутствует в списке — логическое значение false Удаляет из списка пару “ключ-значение” по указанному индексу index Сокращает избыточную емкость вызывающей коллекции в виде отсортированного списка

Кроме того, в классе SortedList<TK, TV> определяются собственные свойства, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Эти свойства приведены ниже.

Свойство

Описание

public int Capacity { get; set; }

Получает или устанавливает емкость

вызывающей коллекции в виде отсо

ртированного списка

public IComparer<TK> Comparer { get;

¦ } Получает метод сравнения для вызы

вающего списка

public IList<TK> Keys { get; }

Получает коллекцию ключей

public IList<TV> Values { get; }

Получает коллекцию значений

И наконец, в классе SortedList<TKey,

TValue> реализуется приведенный ниже

индексатор, определенный в интерфейсе IDictionaryCTKey, TValueX

public TValue this[TKey key] { get; set;

} .

Этот индексатор служит для получения и

установки значения элемента коллекции,

а также для добавления в

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату