Читаем C# 4.0 полное руководство - 2011 полностью

В классеHashSetподдерживается коллекция, реализующая множество. Для хранения элементов этого множества в нем используется хеш-таблица. В классеHashSetреализуются интерфейсыICollection, ISet, IEnumerable, IEnumerable, ISerializable,а такжеIDeserializationCallback.В коллекции типаHashSetреализуется множество, все элементы которого являются уникальными. Иными словами, дубликаты в таком множестве не допускаются. Порядок следования элементов во множестве не указывается. В классеHashSetопределяется полный набор операций с множеством, определенных в интерфейсеI$et,включая пересечение, объединение и разноименность. Благодаря этому классHashSetоказывается идеальным средством для работы с множествами объектов, когда порядок расположения элементов во множестве особого значения не имеет. Коллекция типа

HashSetимеет динамический характер и расширяется по мере необходимости, чтобы вместить все элементы, которые должны в ней храниться.

Ниже перечислены наиболее употребительные конструкторы, определенные в классеHashSet.

public -HashSetO

public HashSet(IEnumerablecollection)public HashSet(IEqualityComparecomparer)

public HashSet(IEnumerablecollection,IEqualityComparecomparer)

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

В классеHashSetреализуется интерфейсISet,а следовательно, в нем предоставляется полный набор операций со множествами. В этом классе предоставляется также методRemoveWhere , удаляющий из множества элементы, не удовлетворяющие заданному условию, или предикату.

Помимо свойств, определенных в интерфейсах, которые реализуются в классеHashSet,в него введено дополнительное свойствоComparer,приведенное ниже.

public IEqualityComparer Comparer { get; }

Оно позволяет получать метод сравнения для вызывающего хеш-множества.

Ниже приведен конкретный пример применения классаHashSet.

// Продемонстрировать применение класса HashSet. using System;

using System.Collections.Generic;

class HashSetDemo {

static void Show(string msg, HashSet set) {

Console.Write(msg); foreach(char ch in set)

Console.Write(ch + " ");

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT