Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 174

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 174 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 1742019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 174)

Этот интерфейс наследует от интерфейсов 1Епптегаые, 1Еппюегаые<т> и 1Со11есС1оп<Т> и поэтому является обобщенным вариантом необобшенного интерфейса 1ьтяс. Методы, определенные в интерфейсе 1птяс<т>, перечислены в табл. 24.11. В двух иэ этих методов предусматривается модификация коллекции.

Если же коллекция доступна только для чтения или имеет фиксированный размер, то методы 1пяегС () и Веюочейг () генерируют исключение НЬСЕпрроггес(ЕхсерС1оп. Таблица 24.11. Методы, определенные в интерфейсе П.йвк<Т> Описание Метод Тпг Тппехпс(Т оЬУ) Возвращает индекс первого вхождения объекта оьу в вы- зывающей коллекции. Если объект оьу не обнаружен, то метод возвращает значение -( чо1с) 1пяегг (тпг 1ох, Т оЬУ) Вставляет в вызывающую коллекцию объект оьу по ин- дексу х Пх чо1с) ПеяочеРС.(спг ТПх) Удаляет из вызывающей коллекции объект, расположен- ный по указанному индексу Тс(х Кроме того, в интерфейсе 1со11есгтоп<т> определены перечисленные ниже методы. Обратите внимание на то, что в этом обобщенном интерфейсе определено несколько больше методов, чем в его иеобобшенном аналоге.

868 Часть ((. Библиотека СЗ Кроме того, в интерфейсе 1ввяг<Т> определяется индексатор Т Свья(гпк Тс(х) ( Чек) яек) ) который устанавливает или возвращает значение элемента коллекции по указанному ин- дексу 1<)х. Интерфейс ~уудсс1 отзаду(2к, 2'~> В интерфейсе 1Р1сг1опагу<ТК, ТЧ> определяется такое поведение обобщенной коллекции, которое позволяет преобразовать уникальные ключи в соответствующие значения.

Это означает, что в данном интерфейсе определяется коллекция, в которой хранятся пары "ключ — значение". Интерфейс 1Р1ссвопагу<тк, тч> наследует от интерфейсов 1епцаегаЬ1е, 1епцаегаЬ1е<кеуча1цера1г<тк, тч» и 1со11есс1оп< кеуча1цера1г<тк, тч» и поэтому является обобщенным вариантом иеобобщенного интерфейса 1РТсгвопагу. Методы, объявленные в интерфейсе 1РТсгвопагу<ТК, ТЧ>, приведены в табл. 24.12.

Все зти методы генерируют исключение Агр цаепскц11Ехсерс1оп при попытке указать пустой ключ. таблица 24.12. методы, определенные в интерфейсе 1паоьзопаку<тк, тч> Описание Метод хогг( Аг(С (тк )г, тч т) Добавляет а вызывающую коллекцию пару "ключ-значение", определяемую параметрами А н и Генерирует исключение Агдоиепккхсерк1оп, если ключ К уже находится в коллекции Ьоо1 Сопкагпя(ТК А) Возвращает логическое значение ское, если вызывающая коллек- ция содержит объект к в качестве ключа, в противном случае— логическое значение Та1яе Ьоо1 Пеяоне(ТК )г) Удаляет нз коллекции элемент, ключ которого равен значению объекта )г Ьоо1 ТгуоеСЧа1ие(ТК )с, осс тЧ к) Предпринимает попытку извлечь значение нз коллекции по указанному ключу )г н присвоить зто значение переменной и Прн удачном исходе операции возвращается логическое значение сгое, иначе— логическое значение Та1яе, Если ключ )г не найден, переменной ч присваивается значение, выбираемое по умолчанию Кроме того, в интерфейсе 1Р1СС1опагу<ТК, ТЧ> определены перечисленные ниже свойства.

, Свойство Описание гсо11ессгоп кеуя<тк> ( сею ) 1со11есс1оп ча1иея<тч> ( сеьч ) Получает коллекцию ключей Получает коллекцию значений Следует иметь в виду, что ключи и значения, содержащиеся в коллекции, доступны отдельными списками с помощью. свойств Кеуя и Ча1цея. И наконец, в интерфейсе 1РТСС1опагу<ТК, ТЧ> определяется следующий ицдексатор: тч сьгя(тк )геу) ( Чекк яек; ) Этот ипдексатор служит для получения и установки значения элемента коллекции, а также для добавления в коллекцию нового элемента. Следует, однако, иметь в виду, что в качестве индекса в данном случае служит ключ элемента, а пе собственно индекс. Глава 24. Коллекции, перечислители и итерагоры 869 Интерфейсы хетттзшега1а1 е<т> и хеттишега гог<т> Интерфейсы 1Епивегаиуе<Т> и 1кпивегасог<Т> являются обобщенными эквивалентами рассмотренных ранее необобщенных интерфейсов 1Е пиве гаЬ1е и 1Епиве сапог.

В них объявляются аналогичные методы и свойства, да и действуют они по тому же принципу. Разумеется, обобщенные интерфейсы оперируют данными только того типа, который указывается в аргументе типа. В интерфейсе 1епивегаь1е<т> метод йегепивегасог () объявляется следующим образом: 1кпивегагог<Т> Секкпивегасог() Этот метод возвращает перечислитель типа т для коллекции.

Это означает, что он возвращает типизированн(яй перечислитель. Кроме того, в интерфейсе 1кпивегаЬ1е<Т> определяются два таких же метода, как и в необобщенном его варианте; моченехг () и еезег () . В этом интерфейсе объявляется также обобщенный вариант свойства сиггепти т си<геок ( Чещ ) Это свойство возвращает ссылку типа т на следующий объект. Это означает, что обобщенный вариант свойства Сиггепг является типизированным.

Но между интерфейсами 1кпивегагог и 1кпивегасог<Т> имеется одно различие: интерфейс 1кп иве гас ог<Т> наследует от интерфейса 1 Р1з роз аЬ1е, в отличие от интерфейса 1Кпивегасог. В интерфейсе 1сйзрозабае определяется метод Ейэроэе (), который служит для освобождения неуправляемых ресурсов.

на заллетку! В интерфейсе 1кпивегаьге<т> реализуется танже необобщенный интерфейс гкпивегаЬ1е. Это означает, что в нем поддерживается необобщенньлй вариант метода йескпиве лагос () . Кроме того, в интерфейсе гкпи негаь1е <т> реализуется необобщенный интерфейс 1 к и и в е га г о г, а следовательно, в нем поддерживаются необобщенные варианты свойства сиггепв Интерфейс 1сошрагег<т> Интерфейс 1Соврагег<Т> является обобщенным вариантом рассмотренного ранее интерфейса 1соврагег. Главное отличие между ними заключается в том, что интерфейс 1соврагег<т> обеспечивает типовую безопасность. В нем обобщенный вариант метода совраге () объявляется следующим образом: Тпс Совраге(Т оЬ11, Т оЬУЕ) В этом методе сравниваются объекты оЬ11 и оЬ1Е.

Он возвращает положительное значение, если значение объекта оЬ11 больше, чем у объекта оЬу 2; отрицательное — если значение объекта о1 меньше, чем у объекта о2; и нулевое значение — если сравниваемые значения равны. Интерфейс 1едиа1х еусошрагег<т> Интерфейс 1кк(иа11гусоврагег<Т> полностью соответствует своему необобщенному аналогу Ес(иа11сусоврагег. В нем определяются два следующих метода: Ьоог Ециаге(т оЬ11, т оЬТЕ) апс Сесиавпсок)е(т оВ1) 870 Часть П. Библиотека СЭ Метод Е<(иа1я () должен возвратить логическое значение ггие, если значения объектов оЬТ'1 и оЬ12 равны.

А метод СегнаяЛСобе () возвращает хеш-код для объекта оЬ11 Структура КеуЧа1иеРал.к(ТК, ТЧ> В пространстве имен Буягеп. Со11есгвопя. Сепегвс определена структура КеуЧа1иерэ1г<ТК, ТЧ>. Она служит для хранения ключа и его значения н применяется в классах обобщенных коллекций, в которых хранятся пары "ключ-значение", как, например, в классе Р1сг1опягу<тк, тч>. В этой структуре определяются два следующих свойства: ривзхс тК Кеу ( дегк ): риЬ11с ТЧ Ча1ие ( Чег) В этих свойствах хранятся ключ и значение соответствующего элемента коллекций. Для построения объекта типа кеуча1иерагг<тк, тч> служит конструктор ривзгс Кеуиа1иераъг(ТК )к, ТЧ и) где )< обозначает ключ, а ч — значение. Классы обобщенных коллекций Как упоминалось ранее, классы обобщенных коллекций по большей части соответствуют своим необобшенным аналогам, хотя в некоторых случаях они носят другие имена.

Отличаются они также своей организацией и функциональными возможностями. Классы обобщенных коллекций определяются в пространстве имен Буягев. Со11есг1опя. Сепег1с. В табл. 24.13 приведены классы, рассматриваемые в этой главе. Эти классы составляют основу обобщенных коллекций. Таблица 24.13. Основные классы обобщенных коллекций Класс Описание пгсг1опагу<тк, тч> Яиеие<т> Боггеппъсггопагу<тк, тч> Боггейг1яг<ТК, ти> Бгасх<Т> Наяьяег<Т> 11пкеиьъяг<Т> ъдяг<т> Сохраняет пары "ключ-значение". Обеспечивает такие же функциональные возможности, как и необобщенный класс Наяьгаъ1е Сохраняет ряд уникальных значений, используя хеш-таблицу Сохраняет элементы в двунаправленном списке Создает динамический массив.

Обеспечивает такие же функциональные воэможности, как и необобщенный класс йггаугъяг Создает очередь. Обеспечивает такие же функциональные возможности, как н необобщенный класс ()иеие Создает отсортированный список из пар "ключ-значение" Создает отсортированный список из пар "ключ-значение". Обеспечивает такие же функциональные возможности, как и необобщенный класс Боггеиьгяг Создает стек. Обеспечивает такие же функциональные воз- можности, как и необобщенный класс агась Глава 24.

Коллекции, леречислигели и нтераторы 871 На заметку! В пространстве имен БузСеп.Со11есхгопз.цепег1с находятся также следующие классы: класс Бупс)ггоп1ге()Со11есссоп<Т> синхронизированной коллекции на основе класса 111зс<т>; класс Бупспгоп1гег(неапоп1усо11есс1оп<т> доступной только для чтения синхронизированной коллекции на основе класса 11.1ас<Т>; абстрактный класс Бупс)ггоп1гег(кеусо11есс1оп<к, у>, служащий в качестве базового для класса коллекции Буасеп.зегч1семог(е1.0г1зс)гепекеуег)Со11есс1оп; а также класс кеуепвутуресо).).ессйоп<т> коллекции, в хоторой е каче<геле ключей используются отдельные типы данных.

Класс у.дяВ<т> В классе Е1БС<т> реализуется обобщенный динамический массив. Он ничем принципиально не отличается от класса необобщенной коллекции йггауЕ1БС. В этом классе реализуются интерфейсы 1Со11есС1оп, 1Со11есСгоп<Т>, 1Ь1БС, 111БС<Т>, 1ЕпппегаЫе и 1ЕппюегаЫе<Т>. У класса ЕТБС<Т> имеются такие конструкторы: рпЫ1с ЬТзС () рпЫго Сваг (1ЕпшпегаЫе<Т> с) рпЫ1< Ылг (1пг емкость) (аблица 24.14. Наиболее употребительные методы, определенные в классе И.ас<т> Описание Метод рпЫгс т1ггпа1 чола Добавляет элементы из коллекции с в конец вызывающей лгыяапое (1со11есс1оп с) коллекции типа Аггауссзс Выполняет поиск в вызывающей коллекции значения ч. Возвращает индекс найденного элемента.

Если искомое значение не найдено, возвращается отрицательное значе- ние. Вызывающий список должен быть огсоргирован рпЫ1с ч1гспа1 гпс ВгпагуБеагсп(Т ч) рпЫ1с гпС В1пагузеагсп(Т 1Сопрагег<Т> соглр) Выполняет поиск в вызывающей коллекции значения ю используя для сравнения указанный метод сопр. Возвращает индекс найденного элемента. Если искомое значение не найдено, возвращается отрицательное значе- ние. Вызывающий список должен быть отсортирован рпЫ1с СвзС<Т> Оегпапде(1пг 1с(х, 1пС сопл г) Возвращает часть вызывающей коллекции. Часть воз- вращаемой коллекции начинается с элемента, указывае- мого по индексу гг(х, и включает количество элементов, определяемое параметром соппс.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее