Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Реалізація інтерфейсу IComparer

Реферат Реалізація інтерфейсу IComparer





- HashSet lt; T gt; і SortedSet lt; T gt ;. Обидва вони реалізують інтерфейс ISet lt; T gt ;. Клас HashSet lt; T gt; містить невпорядкований список розрізняються елементів, а в SortedSet lt; T gt; елементи впорядковані. [6]

Інтерфейс ISet lt; T gt; надає методи для створення об'єднання декількох множин, перетину множин і визначення, чи є одне безліч надбезліччю або підмножиною іншого. [2]

Нижче перераховані найбільш споживані конструктори, визначені в класі HashSet lt; T gt;:

HashSet () HashSet (IEnumerable lt; T gt; collection)

public HashSet (IEqualityCompare comparer)

public HashSet (IEnumerable lt; T gt; collection, IEqualityCompare comparer)


У першій формі конструктора створюється порожня множина, а в другій формі - безліч, що складається з елементів вказується колекції collection. У третій формі конструктора допускається вказувати спосіб порівняння за допомогою параметра comparer. А в четвертій формі створюється безліч, що складається з елементів вказується колекції collection, і використовується заданий спосіб порівняння comparer. Є також п'ятий форма конструктора даного класу, в якій допускається ініціалізувати безліч послідовно впорядкованими даними.

У цьому класі надається також метод RemoveWhere (), що видаляє з безлічі елементи, що задовольняють заданій умові, або предикату. Крім властивостей, визначених в інтерфейсах, які реалізуються в класі HashSet lt; T gt ;, в нього введено додаткове властивість Comparer, наведене нижче:

IEqualityComparer lt; T gt; Comparer {get; }


Воно дозволяє отримувати метод порівняння для викликає хеш-множини. [4]

Нижче перераховані чотири найбільш часто використовуваних конструкторів, визначених у класі SortedSet lt; T gt;:

public SortedSet () SortedSet (IEnumerable lt; T gt; collection) SortedSet (IComparer comparer) SortedSet (IEnumerable lt; T gt; collection, IComparer comparer)


У першій формі конструктора створюється порожня множина, а в другій формі - безліч, що складається з елементів вказується колекції collection. У третій формі конструктора допускається вказувати спосіб порівняння за допомогою параметра comparer. А в четвертій формі створюється безліч, що складається з елементів вказується колекції collection, і використовується заданий спосіб порівняння comparer. Є також п'ятий форма конструктора даного класу, в якій допускається ініціалізувати безліч послідовно впорядкованими даними.

У цьому класі надається також метод GetViewBetween (), який повертає частину безлічі у формі об'єкта типу SortedSet lt; T gt ;, метод RemoveWhere (), що видаляє з безлічі елементи, що не задовольняють заданій умові, або предикату, а також метод Reverse (), який повертає об'єкт типу IEnumerable lt; T gt ;, який циклічно проходить безліч в зворотному порядку. [6]

Крім властивостей, визначених в інтерфейсах, які реалізуються в класі SortedSet lt; T gt ;, в нього введені додаткові властивості, наведені нижче:

IComparer lt; T gt; Comparer {get; } T Max {get; } T Min {get; }


Властивість Comparer отримує спосіб порівняння для викликає множини. Властивість Мах отримує найбільше значення в безлічі, а властивість Min - найменше значення в безлічі.

Клас SortedDictionary lt; TKey, TValue gt;

Клас SortedDictionary lt; TKey, Tvalue gt; представляє дерево бінарного пошуку, в якому всі елементи відсортовані на основі ключа. Тип ключа повинен реалізувати інтерфейс IComparable lt; TKey gt ;. Якщо тип ключа не сортований, компаратор можна також створити, реалізувавши IComparer lt; TKey gt; і вказавши його як аргумент конструктора сортованого словника. [2]

Класи SortedDictionary lt; TKey, Tvalue gt; і SortedList lt; TKey, TValue gt; мають схожу функціональність. Але оскільки SortedList lt; TKey, TValue gt; реалізований у вигляді списку, заснованого на масиві, a SortedDictionary lt; TKey, Tvalue gt; реалізований як словник, ці класи володіють різними характеристиками:

SortedList lt; TKey, TValue gt; використовує менше пам'яті, ніж SortedDictionary lt; TKey, TValue gt;

SortedDictionary lt; TKey, TValue gt; швидше вставляє і видаляє елементи.

При наповненні колекції відсортованими даними SortedList lt; TKey, TValue gt; працює швидше, якщо при цьому не потрібна зміна ємності. [6]

У класі SortedDictionary lt; TKey, TValue gt; реалізуються інтерфейси IDictionary, IDictionary lt; TKey, TValue gt ;, I...


Назад | сторінка 10 з 21 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Метод потенціалів для вирішення транспортної задачі в матричній формі. Зад ...
  • Реферат на тему: Стадії попереднього розслідування. Відмінності закінчення попереднього роз ...
  • Реферат на тему: Про відрядній формі оплати праці як про найбільш оптимальному порядку винаг ...
  • Реферат на тему: The collection of French art in the Hermitage
  • Реферат на тему: Порівняння методів одновимірної оптимізації: метод золотого перетину і мето ...