Хэш-таблицы
Хэш-таблицы
Простые и динамические массивы удобны прежде всего тем, что вы можете напрямую обратиться к любому элементу по индексу. Конечно, для этого необходимо знать индекс. В следующей структуре данных — хэш-таблице — произвольный доступ к данным осуществляется по ключу. Допустим, у вас имеется хэш-таблица с именем theData. Команда theData("Bill 's Address") позволяет извлечь из хэш-таблицы нужный элемент без циклического перебора всего содержимого. Хэш-таблицы очень удобны в ситуациях, когда вы хотите получить быстрый доступ к значению по связанному с ним уникальному атрибуту, то есть ключу. Разумеется, программирование хэш-таблицы — задача непростая [ Для этого необходимо построить хорошую функцию хэширования для вычисления индекса данных по ключу, а также решить неизбежную проблему коллизий, то есть совпадения хэш-кодов у двух разных элементов. Даже терминология выглядит устрашающе... ], но, к счастью, эта работа уже выполнена за вас разработчиками .NET Framework.
В табл. 4.4 перечислены важнейшие методы класса Hashtable (за полным списком обращайтесь к электронной документации).
Таблица 4.4. Важнейшие методы класса Hashtable
Имя |
Описание |
||
Add |
Добавляет новую пару «ключ/значение» в хэш-таблицу |
||
Clear |
Удаляет из хэш-таблицы все содержимое |
||
ContainsKey |
Проверяет, содержит ли хэш-таблица заданный ключ (с учетом регистра символов) |
||
ContainsValue СоруТо |
Проверяет, содержит ли хэш-таблица заданное значение (с учетом регистра символов) Копирует элементы хэш-таблицы в массив |
||
Count |
Возвращает количество пар «ключ/значение» в хэш-таблице |
||
Item |
Свойство по умолчанию. Получает или задает значение, связанное с указанным ключом |
||
Keys |
Возвращает все ключи хэш-таблицы в виде коллекции, содержимое которой перебирается в цикле For-Each |
||
Remove |
Удаляет из хэш-таблицы значение с заданным ключом |
||
Values |
Возвращает все значения хэш-таблицы в виде коллекции, содержимое которой перебирается в цикле For-Each |
||
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий