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

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

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

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

Целевой массив должен быть одномерным и со- вместимым по типу с элементами коллекции Заключает коллекцию а г в оболочку типа лггау11як с фиксированным размером и возвращает результзт Возвращает часть вызывающей коллекции типа )(гге уъгя г. Часть возвращаемой коллекции начинается с элемента, указываемого по индексу 1бх, и включает ко- личество элементов, определяемое параметром осипа, Возвращаемый обьект ссылается на те же апементы, что и вызывающий объект Возвращает индекс первого вхождения объекта т в вы- зывающей коллекции. Если искомый объект не обнаружен, возвращает значение -1 Вставляет элементы коллекции с в вызывающую кол- лекцию, начиная с элемента, указываемого по индексу ясегг1бх Возвращает индекс последнего вхождения обьекта ч в вы- зывающей коллекции. Если искомый объект не обнаружен, метод возвращает значение -1 Заключает коллекцию в г в оболочку типа лггау11яс, Да- ступную только для чтения, и возвращает результат Удаляет часть вызывающей коллекции, начиная с элемента, указываемого по индексу г бх, и втлючая количество апе- ментов, определяемое параметром осипа Располагает элементы вызывающей коллекции в обратном порядке Располагает в обратном порядке часть вызывающей кол- лекции, начиная с элемента, указываемого по индексу эбх, и включая количество элементов, определяемое параме- тром ссипс Заменяет часть вызывающей коллекции, начиная с элемен- та, указываемого по индексу 1 с ю элементами коллекции с Сортирует вызывающую коллекцию по нарастающей Сортирует вызывающую коллекцию, используя для срав- нения указанный метод совр.

Если параметр совр имеет пустое значение, то для сравнения используется метод, вы- бираемый по умолчанию Сортирует вызывающую коллекцию, используя дпя сравне- ния указанный метод совр. Сортировка начинается с эле- мента, указываемого по индексу ягягггбх, и втпючавт количество элементов, определяемых па(вметром осипа. Если параметр совр имеет пустое значение, то дпя срав- нения используется метод, выбираемый по умолчанию Глава 24. Коллекции, перечислнтели н нтераторы 847 Окончание таба.

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

Емкость обозначает количество элементов, которые может содержать коллекция типа Актау(.1эг до ее вынужденного расширения. Как упоминалось выше, коллекция типа Актау),1зс расширяется автоматически, и поэтому задавать ее емкость вручную необязательно. Но из соображений эффективности это иногда можно сделать, если количество элементов коллекции известно заранее.

Благодаря этому исключаются издержки на выделение дополнительной памяти. С другой стороны, если требуется сократить размер базового массива коллекции типа АггауА1зг, то для этой цели достаточно установить меньшее значение свойства сарас1су. Но это значение не должно быль меньше значения свойства соиле. Напомним, что свойство Соипг определено в интерфейсе 1Со11есг1оп и содержит количество объектов, хранящихся в коллекции на данный момент. Всякая попытка установить значение свойства Сарасагу меньше значения свойства Соиле приводит к генерированию исключения АгчзипепсОисОГВапоекхсерс1оп. Поэтому для получения такого количества элементов коллекции типа АггауА1зс, которое содержится в ней на данный момент, следует установить значение свойства Сарас1СУ равным значению свойства Соиле. Для этой цели можно также вызвать метод Тг1пто51ге () .

В приведенном ниже примере программы демонстрируется применение класса Актау(,1эс. В ней сначала создается коллекция типа Аггаунбэс, а затем в эту коллекцию вводятся символы, после чего содержимое коллекции отображается. Некоторые элементы затем удаляются из коллекции, и ее содержимое отображается вновь. После этого В классе Аггауп1зг поддерживается также ряд методов, оперирующих ЭлЕмеНтами коллекции в заданных пределах. Так, в одну коллекцию типа Аггауь1эс можно вставить другую коллекцию, вызвав метод 1пэеггпаппе () . Для удаления из коллекции элементов в заданных пределах достаточно вызвать метод Петоиенапие () .

А для перезаписи элементов коллекции типа Аггаунаэг в заданных пределах элементами из другой коллекции служит метод 5егпапое () . И наконец, элементы коллекции можно сортировать или искать в заданных пределах, а не во всей коллекции. По умолчанию коллекция типа Аггау11эг НЕ СИНХРонизиРована, Для получения синхронизированной оболочки, в которую заключается коллекция, вызывается метод 5упснгоп1хес((). В классе Аггауъ1зг имеется также приведенное ниже свойство Сарасбгу, помимо свойств, определенных в интерфейсах, которые в нем реализуются. 848 Часть П. Библиотека Са в коллекцию вводятся дополнительные элементы, что вынуждает увеличить ее емкость И наконец, содержимое элементов коллекции изменяется.

// Продемонстрировать применение класса Аггауьаяс. цяапо зуясещ) ця1пч зуясещ.Со11ессаопят с1аяя йггауь1яспещо ( ясас1с гоаб Магд() ( // Создать коллекцию в виде динамического массива. Аггауьаяс а1 = печ Аггауваяс()) Сопяо1е.нгасе11пе("Исходное количество элементов: " т а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пе("Удалить 2 элемента"); // Удалить элементы иэ динамического массива.

а1.кещоче ('Ь') т а1.вещоче('А')т Сопяо1е.нгасецапе("Количество элементов: " + а1.Соцпс) // Отобразить содержимое динамического массива, // используя цикл Еогеасв. Сопяо1е.Итаке("Содержимоес "); Еогеась(сваг с 1п а1) Сопяо1е.иг1се(с + " ")т Сопяо1е.нг1сеь1пе("1п")т Сопяо1е.нгагевапе("Добавить еще 20 элементов"); // Добавить количество элементов, достаточное для // принудительного расширения массива. Еог(апс 1=от 1 < 20т 1++) а1.А<Ы ((сваг)('а' + 1))) Глава 24. Коллекции, перечислители и итервторы 849 Сопяо1е.йг1сеь1пе("Текущая емкость: а1.сарасвгу); Сопяо1е.йгвсетепе("Количество элементов после " + "добавления 20 новых: " + а1.Соцпс)т Сопяо1е.йг1се("Содержимоет ")т Тогеасп(спас с Тп а1) Сопяо1е.йг1ге(с + " ")т Сопяо1е.йг1геь1пе("1п")) // Изменить содержимое динамического массива, О используя индексирование массива. Сопяо1е.йг1геьепе("Изменить три первых элемента"); а1[0) = 'Х'; а1[1) = 'У': а1[2) = 'Е'; Сопяо1е.Иг1се("Содержимое: ")т богеасп(спас с 1п а1) Сопяо1е.йг).ге(с + " ")' Сопяо1е.йг1сеьгпе()) ) ) Вот к какому результату приводит выполнение этой программы: Исходное количество элементов: 0 Добавить б элементов Количество элементов: б Текущее содержимое: С А Е В О Г Удалить 2 элемента Количество элементов.

"4 Содержимое: С Е В О Добавить еще 20 элементов Текущая емкость: 32 Количество элементов после добавления 20 новых: 24 Содержимое: С Е В О а Ь с б е Т 0 Ь 1 2 Л 1 ю и о р Ч г я Г Изменить три первых элемента Содержимое: Х У 2 О а Ь с б е Т 0 Ь 1 1 )т 1 щ и о р Ч г я Г Сортировка и поиск в коллекции типа лккауК.хве Коллекцию типа йггауОТяс можно отсортировать с помощью метода Богс () .

В этом случае поиск в отсортированной коллекции с помощью метода Е1пагуэеагсЬ () становится еще более эффективным. Применение обоих методов демонстрируется в приведенном ниже примере программы. // Отсортировать коллекцию типа Аггаугпяг и осуществить в ней поиск. цягпд Бувсею) цяапч Буягею.Со11есг1опят 850 Часть П. Библиотека С8 с1аэв Яогсзеагснпеюо ( эсагъс чогб Мазп() ( // Создать коллекцию в виде динамического массива. Аггауътэс а1 = пен Аггауцьэг()) // Добавить элементы в динамический массив.

а1,АсЫ (55)) а1.АсЫ(43) т а1. АсЫ (-4) т а1.АсЫ (88) т а1.АсЫ(3) ' а1.АсЫ (19)т Сопзо1е.игьсе("Исходное содержимоес ")т тогеасн(апс 1 1п а1) Сопво1е.игъге 81 + " ")т сопво1е. Игьгеъапе ("1п" ) т // Отсортировать динамический массив. а1. Яогс Н ) // Отобразить содержимое динамического массива, // используя цикл тогеасп. Сопво1е.нг1се("Содержимое после сортировки: ")т тогеась(1пс 1 ьп а1) Сопво1е.иггге(1 ь " "); сопво1е.иг1гепьпе("1п")т Сопво1е.кгзсеь1пе("Индекс элемента 43: а1.81пагузеагсн(43))т ) ) Ниже приведен результат выполнения этой программы. Исходное содержимое: 55 43 -4 88 3 19 Содержимое после сортировкис -4 3 19 43 55 88 Инлекс элемента 43: 3 В одной и той же коллекции типа Аггаувазг могут храниться объекты любого типа.

Тем ие менее во время сортировки и поиска в ией зти объекты приходится сравнивать. Так, если бы список объектов в приведенном выше примере программы содержал символьную строку, то их сравнение привело бы к исключительной ситуации. Впрочем, для сравнения символьных строк и целых чисел можно создать специальные методы. О таких методах сравнения речь пойдет далее в этой главе. Получение массива иа коллекции типа лхтауьхвй В работе с коллекцией типа Агга у11з с иногда требуется получить из ее содержимого обычиый массив. Этой цели служит метод тойггау () . Для преобразования коллекции в массив имеется несколько причин.

Две из иих таковьс потребность в ускорении обработки при выполнении некоторых операций и необходимость передавать массив методу, который ие перегружается, чтобы принять коллекцикь Но независимо от конкретной причины коллекция типа Аггауь1ЯС преобразуется в обычный массив довольно просто, как показано в приведенном ниже примере программы. Глава 24. Коллекции, леречислители и итераторы 861 // Преобразовать коллекцию типа Аггауььяг в обычный массив.

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

Тип файла
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 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6537
Авторов
на СтудИзбе
301
Средний доход
с одного платного файла
Обучение Подробнее