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

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

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

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

Возвращаемый объект ссылается на те же элементы, что и вызывающий обьект Первый конструктор создает пустую коллекцию класса 11зс с выбираемой по умолчанию первоначальной емкостью. Второй конструктор создает коллекцию типа Ейзс с количеством инициализируемых элементов, которое определяется параметром с и равно первоначальной емкости массива. Третий конструктор создает коллекцию типа Е1БС, имеющую указанную первоначальную емкость.

В данном случае емкость обозначает размер базового массива, используемого для хранения элементов коллекции. Емкость коллекции, создаваемой в виде динамического массива, может увеличиваться автоматически по мере добавления в нее элементов. В классе 1.1БС<Т> определяется ряд собственных методов, помимо тех, что уже объявлены в интерфейсах, которые в нем реализуются. Некоторые из наиболее употребительных методов этого класса перечислены в табл.

24.14. 872 Часть )(. Библиотека СЗ Окончание табл. 24. 14 Метод Описание риЫТс 1ЬС 1лоехой(Т ч) Возвращает индекс первого вхождения объекта ч в вы- зывающей коллекции. Если искомый обьект не обнаружен, возвращается значение -1 риЬ11с чото 1пяегтналсе(1лт яоагг1к(х, 1ЕливегаЫе<Т> с) Вставляет элементы коллекции с в вызывающую кол- лекцию, начиная с элемента, указываемого по индексу ягагггк(х риЬ11с 1пс ьаяс1пйехот(т ч) Возвращает индекс последнего вхождения обьекта ч в вы- зывающей коллекции. Если искомый объект не обнаружен, возвращается значение -1 Удаляет часть вызывающей коллекции, начиная с элемен- та, указываемого по индексу 1<(х, и включая количество элементов, определяемое параметром соил с риЫ Тс ч ох б аевоче лаосе (Тлт 1<(х, Тли сопля) риЬ11с чогб Вечегяе() Располагает элементы вызывающей коллекции в обратном порядке риЫТс чогб Кечегяе(1лг Располагает в обратном порядке часть вызывающей коля сагггг(х, 1пс сочло) лекции, начиная с элемента, указываемого по индексу 1<(х, и включая количество элементов, определяемое параметром сочло риЫ1с чогб Зогс() Сортирует вызывающую коллекцию по нарастающей риытс чо1к( яогс(1соврагег<т> совр) Сортирует вызывающую коллекцию, используя для срав- нения указанный метод совр.

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

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

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

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

О Продемонстрировать применение класса ь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=0; 1 < 1яс.соппсл 1т+) Сопяо1е.нгаяе(1яя (1] т " ")," Сопяо1е.нг1сеьгпе("1п"); Сопяо1е.нг1сеьапе("Удалить 2 элемента "); // Удалить элементы из динамического массива.

1яс.аещоте('г')л 1яг.нещоче('А')л сопяо1е.игасеь1пе("копичество элементов: " т 1яс.соппс); 874 Часть(). Бнблиа)ага С$ // Отобразить содержимое динамического массива, // Используя цикл Тогеасп. Сопзо1е.Игасе("Содержимое: "); Тогеасп(сЬаг с Тп 1зс) Сопво1е.иг1се(с + " "); Сопво1е.иг1ге11пе("1п"); Сопзо1е.иг1сеЕТпе("Добавить еще 20 элементов"); // Добавить количество элементов, достаточное для // принудительного расширения массива. Тог(апг 1=0; 1 < 20; 1++) 1зс.лоб((снаг)('а' + 1))) сопво1е.игасеьапе("текущая емкость: " +1вг.сарасагу); сопво1е.игагеьТпе("количество элементов после " ь "добавления 20 новых: " ь 1вс.соцпс)> Сопво1е.игасе("Содержимое.

"")) Тогеасп(спас с гп 1вс) Сопво1е.игасе(с + " "); Сопзо1е.ыгьсе1(пе("Тп"); // Изменить содержимое динамического массива, // используя индексирование массива. Сопво1е.игагеЕТпе("Изменить три первых элемента"); 1вс[0] = 'Х'4 1вс[1] = 'т'; 1вс[2] = 'Е') Сопво1е.власе("Содержимое: ")4 Тогеасп(сЬаг с 1п 1вс) сопво1е.итаке(с 4 " "); Сопво1е.иг1севапе()) // Следующая строка кода недопустима иэ-за // нарушения безопасности обобщенного типа.

// 1вс.або(99)) // Ошибка, поскольку это не тид сЬаг) ) ) Эта версия программы дает такой же результат, как и предыдуп(ая: Исходное количество элементов: 0 Добавить б элементов Количество элементов: 6 Текущее содержимое: С А Е В О Е Удалить 2 элемента Количество элементов: 4 Содержимое: С Е В О Добавить еще 20 элементов Текущая емкость: 32 Количество элементов после добавления 20 новых: 24 Содержимое: С Е В 0 а Ь с б е Т 9 Ь 1 3 к 1 ш и о р Ч г з Г Глава 24. Коллекции, перечислигвли и игерагоры 875 Изменить три первых элемента Содержимое: Х У 2 П а Ь с О е Т д Ь 1 1 К 1 и и о р Ч г я Г Класс у дп1сесзз да О<т> В классе Ь1пке<(Ь1эс<т> создается коллекция в виде обобщенного двунаправленного списка.

В этом классе реализуются интерфейсы 1со11есг1оп, 1со11есс1оп<т>, 1ЕпиюегаЫе, 1ЕпиюегаЫе<Т>, 15ег1а1ггаЫе и 10еяег1а11аае1опСа11ЬасК. В двух последних интерфейсах поддерживается сериализация списка. В классе Ьйпке<(Ь1яе<Т> определяются два приведенных ниже открытых конструктора. риЫгс ЬгпКеоьгяс О риЫ1с ь1пкеоьзяг (1епиаегаЫе<т> с) риы1с ьзпкеоьзягног)е<т> иехг ( чегг ) риы1с ьгпкеоьзясноое<т> ргетзоия ( чегг ) риЫ1с ЬзпКеОЬЬяг<т> ьгяс ( дес) ) риЫ1с Т Ча1ие ( Чес; яес; С помощью свойств нехг и Ргеигоия получаются ссылки на предыдущий и последующий узлы списка соответственно, что дает возможность обходить список в обоих направлениях. Если же предыдущий или последующий узел отсутствует, то возвращается пустая ссылка. Для получения ссылки на сам список служит свойство Ь1я С.

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

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

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